Files
DotNetAlpm/Alpm/alpm.cs
2020-04-30 20:42:46 -04:00

281 lines
11 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
{
// ReSharper disable once InconsistentNaming
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);
[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 Error alpm_errno(SafeAlpmHandle handle);
[DllImport(nameof(alpm))]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Return))]
public static extern string alpm_strerror(Error 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 Error 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);
}
}