286 lines
12 KiB
C#
286 lines
12 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Foodsoft.Alpm.Marshalling;
|
|
|
|
namespace Foodsoft.Alpm
|
|
{
|
|
// ReSharper disable once InconsistentNaming
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct alpm_list_t
|
|
{
|
|
internal IntPtr data;
|
|
private readonly IntPtr prev;
|
|
internal readonly IntPtr next;
|
|
}
|
|
|
|
// ReSharper disable once InconsistentNaming
|
|
internal static class alpm
|
|
{
|
|
public delegate void alpm_fn_free(IntPtr ptr);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_pkg_should_ignore(SafeAlpmHandle handle, SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_filename(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_base(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_name(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_name(IntPtr pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_version(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern PackageOrigin alpm_pkg_get_origin(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_desc(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_url(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern long alpm_pkg_get_builddate(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern long alpm_pkg_get_installdate(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_packager(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_md5sum(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_sha256sum(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_arch(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern long alpm_pkg_get_size(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern long alpm_pkg_get_isize(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern InstallReason alpm_pkg_get_reason(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_licenses(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_groups(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_depends(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_optdepends(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_checkdepends(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_makedepends(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_conflicts(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_provides(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_replaces(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_files(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_backup(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_filelist_contains(IntPtr fileList,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string path);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_pkg_get_base64_sig(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern ValidationType alpm_pkg_get_validation(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern bool alpm_pkg_has_scriptlet(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern long alpm_pkg_download_size(SafePackageHandle pkg);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_pkg_set_reason(SafePackageHandle pkg, InstallReason reason);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_pkg_checkmd5sum(SafePackageHandle pkg);
|
|
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_pkg_free(IntPtr ptr);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
|
internal delegate void LogFuncCallBack(LogLevel level, IntPtr format, IntPtr argsAddress);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_option_set_logcb(SafeAlpmHandle handle, LogFuncCallBack? cb);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_option_get_cachedirs(SafeAlpmHandle handle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_option_add_cachedir(SafeAlpmHandle handle,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string cachedir);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_option_remove_cachedir(SafeAlpmHandle handle,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string cachedir);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern ErrorCode alpm_errno(SafeAlpmHandle handle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_strerror(ErrorCode err);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_get_localdb(SafeAlpmHandle handle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern unsafe alpm_list_t* alpm_option_get_syncdbs();
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_register_syncdb(SafeAlpmHandle handle,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string treename, SigLevel sigLevel);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_unregister_all_syncdbs(SafeAlpmHandle handle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_list_append(ref IntPtr list, IntPtr item);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_list_append_strdup(ref IntPtr list,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string str);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_list_next(IntPtr list);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern UIntPtr alpm_list_count(IntPtr list);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern void alpm_list_free(IntPtr list);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern void alpm_list_free_inner(IntPtr list, alpm_fn_free freeFn);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_list_find_str(IntPtr list,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string needle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_unlock(Handle handle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_version();
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern caps alpm_capabilities();
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern SafeAlpmHandle alpm_initialize(
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string root, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string dbpath, out ErrorCode err);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_release(IntPtr handle);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_remove_server(SafeDatabaseHandle db,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string url);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_unregister(IntPtr db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
|
|
public static extern string alpm_db_get_name(SafeDatabaseHandle db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern SigLevel alpm_db_get_siglevel(SafeDatabaseHandle db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_get_valid(SafeDatabaseHandle db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_update(int force, SafeDatabaseHandle db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_db_get_servers(SafeDatabaseHandle db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_set_servers(SafeDatabaseHandle db, IntPtr list);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_add_server(SafeDatabaseHandle db,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string url);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_get_usage(SafeDatabaseHandle db, out Database.UsageFlags usage);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_db_set_usage(SafeDatabaseHandle db, Database.UsageFlags usage);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_db_search(SafeDatabaseHandle db, IntPtr needles);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_pkg_get_pkg(SafeDatabaseHandle db,
|
|
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8In))]
|
|
string name);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_db_get_pkgcache(SafeDatabaseHandle db);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern int alpm_pkg_vercmp(string v1, string v2);
|
|
|
|
[DllImport(nameof(alpm))]
|
|
public static extern IntPtr alpm_find_satisfier(IntPtr pkgList, string depstring);
|
|
}
|
|
} |