### C# example using XenoAtom.Interop.musl to call mkdir Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Shows how to call the musl libc mkdir function via the static class XenoAtom.Interop.musl. Requires the musl library to be installed on the target Linux system; it is available by default on Alpine Linux. The example checks the return value and accesses errno on failure. ```csharp using static XenoAtom.Interop.musl; var ret = mkdir("test_directory", S_IRWXU | S_IRWXG | S_IRWXO); if (ret == -1) { var lerrno = errno; // ... } ``` -------------------------------- ### resource.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for getting and setting process resource limits and priorities. ```APIDOC ## resource.h ### Functions - `getpriority` - Get program scheduling priority. - `getrlimit` - Get resource limits. - `getrusage` - Get resource usage. - `prlimit` - Get/set resource limits of a process. - `setpriority` - Set program scheduling priority. - `setrlimit` - Set resource limits. ### References - [getpriority](https://man7.org/linux/man-pages/man2/getpriority.2.html) - [getrlimit](https://man7.org/linux/man-pages/man2/getrlimit.2.html) - [getrusage](https://man7.org/linux/man-pages/man2/getrusage.2.html) - [prlimit](https://man7.org/linux/man-pages/man2/getrlimit.2.html) - [setpriority](https://man7.org/linux/man-pages/man2/getpriority.2.html) - [setrlimit](https://man7.org/linux/man-pages/man2/getrlimit.2.html) ``` -------------------------------- ### Initialize and open a repository with XenoAtom.Interop.libgit2 Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Use this C# example to initialize libgit2, open a repository, and perform operations. The Check() method throws a LibGit2Exception if the return value is not 0. ```csharp using static XenoAtom.Interop.libgit2; // Initialize libgit2 var ret = git_libgit2_init(); ret.Check(); // Automatically throws LibGit2Exception exception if the return value is not 0 // Open a repository git_repository_open(out var repo, "path/to/repo").Check(); // Do something with the repository // ... ``` -------------------------------- ### Compress and decompress a buffer with XenoAtom.Interop.zlib Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/zlib/readme.md Shows how to use the static class XenoAtom.Interop.zlib to compress and decompress a byte buffer. The compress and uncompress functions return Z_OK on success; otherwise handle the error. The example uses a fixed-size buffer of 32 bytes for both compressed and decompressed data. ```csharp using static XenoAtom.Interop.zlib; // Compress a buffer var data = Encoding.UTF8.GetBytes("Hello, World!"); var compressedData = new byte[32]; var ret = compress(compressedData, out var compressedSize, data); if (ret != Z_OK) { // ... } // Decompress a buffer var decompressedData = new byte[32]; ret = uncompress(decompressedData, out var decompressedSize, compressedData); if (ret != Z_OK) { // ... } ``` -------------------------------- ### Open SQLite database connection in C# Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/sqlite/readme.md Use the static class XenoAtom.Interop.sqlite to open a database connection. The example calls sqlite3_open and checks the return value against SQLITE_OK, handling errors with sqlite3_errmsg. ```csharp using static XenoAtom.Interop.sqlite; // Open a connection to a database var ret = sqlite3_open("path/to/database", out var db); if (ret != SQLITE_OK) { var errmsg = sqlite3_errmsg(db); // ... } // Do something with the database // ... ``` -------------------------------- ### git_repository_discover Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Discovers a repository from a starting path. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_discover ### Description Discovers a repository from a starting path. ### Method Function ### Endpoint `git_repository_discover` ### Parameters - **path_out** (git_buf*) - Required - Pointer to store the discovered repository path. - **start_path** (const char*) - Required - The starting path for discovery. - **across_fs** (int) - Required - Whether to cross filesystem boundaries. - **ceiling_dirs** (const char*) - Required - A list of ceiling directories. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### time.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions related to time and date manipulation, including getting and setting time, timers, and conversions. ```APIDOC ## time.h ### Functions - `adjtime` - `asctime` - `asctime_r` - `clock` - `clock_getcpuclockid` - `clock_getres` - `clock_gettime` - `clock_nanosleep` - `clock_settime` - `ctime` - `ctime_r` - `difftime` - `futimes` - `futimesat` - `getdate` - `getitimer` - `gettimeofday` - `gmtime` - `gmtime_r` - `localtime` - `localtime_r` - `lutimes` - `mktime` - `nanosleep` - `setitimer` - `settimeofday` - `stime` - `strftime` - `strftime_l` - `strptime` - `time` - `timegm` - `timer_create` - `timer_delete` - `timer_getoverrun` - `timer_gettime` - `timer_settime` - `timespec_get` - `tzset` - `utimes` ``` -------------------------------- ### git_repository_config Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the configuration file for a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_config ### Description Gets the configuration file for a repository. ### Method Function ### Endpoint `git_repository_config` ### Parameters - **out** (git_config**) - Required - Pointer to store the configuration. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### git_repository_config_snapshot Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets a snapshot of the repository's configuration. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_config_snapshot ### Description Gets a snapshot of the repository's configuration. ### Method Function ### Endpoint `git_repository_config_snapshot` ### Parameters - **out** (git_config**) - Required - Pointer to store the configuration snapshot. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### times.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Provides the `times` function for getting process times. ```APIDOC ## times.h ### Functions - `times` ``` -------------------------------- ### git_repository_init_ext Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Initializes a new repository with extended options. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_init_ext ### Description Initializes a new repository with extended options. ### Method Function ### Endpoint `git_repository_init_ext` ### Parameters - **out** (git_repository**) - Required - Pointer to store the new repository. - **repo_path** (const char*) - Required - The path where the repository will be created. - **opts** (git_repository_init_options*) - Required - Options for initialization. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### timeb.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Provides the `ftime` function for getting the current time and date. ```APIDOC ## timeb.h ### Functions - `ftime` ``` -------------------------------- ### git_repository_init Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Initializes a new repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_init ### Description Initializes a new repository. ### Method Function ### Endpoint `git_repository_init` ### Parameters - **out** (git_repository**) - Required - Pointer to store the new repository. - **path** (const char*) - Required - The path where the repository will be created. - **is_bare** (unsigned int) - Required - Whether to create a bare repository. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### git_repository_path Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the path of a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_path ### Description Gets the path of a repository. ### Method Function ### Endpoint `git_repository_path` ### Parameters - **repo** (git_repository*) - Required - The repository to query. ### Returns - **const char*** - The repository path. ``` -------------------------------- ### git_repository_init_options_init Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Initializes a git_repository_init_options structure. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_init_options_init ### Description Initializes a git_repository_init_options structure. ### Method Function ### Endpoint `git_repository_init_options_init` ### Parameters - **opts** (git_repository_init_options*) - Required - The options structure to initialize. - **version** (unsigned int) - Required - The version of the structure. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### git_repository_head_for_worktree Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the HEAD of a worktree. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_head_for_worktree ### Description Gets the HEAD of a worktree. ### Method Function ### Endpoint `git_repository_head_for_worktree` ### Parameters - **out** (git_reference**) - Required - Pointer to store the HEAD reference. - **repo** (git_repository*) - Required - The repository to query. - **name** (const char*) - Required - The name of the worktree. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### select.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for synchronous I/O multiplexing. ```APIDOC ## select.h ### Functions - `pselect` - Synchronous I/O multiplexing with timeout and signal mask. - `select` - Synchronous I/O multiplexing. ### References - [pselect](https://man7.org/linux/man-pages/man2/select_tut.2.html) - [select](https://man7.org/linux/man-pages/man2/select_tut.2.html) ``` -------------------------------- ### git_repository_get_namespace Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the namespace of a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_get_namespace ### Description Gets the namespace of a repository. ### Method Function ### Endpoint `git_repository_get_namespace` ### Parameters - **repo** (git_repository*) - Required - The repository to query. ### Returns - **const char*** - The namespace string, or NULL if not set. ``` -------------------------------- ### io.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for I/O port permissions. ```APIDOC ## io.h ### Functions - `ioperm` - `iopl` ``` -------------------------------- ### libgit2 config.h API Functions Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md A list of supported libgit2 configuration API functions from config.h, each with a link to the official libgit2 documentation. ```APIDOC ## Supported API Functions ### git_config_add_file_ondisk - **Description**: Adds a file on disk to the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_add_file_ondisk) ### git_config_backend_foreach_match - **Description**: Iterates over configuration entries matching a pattern using a backend. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_backend_foreach_match) ### git_config_delete_entry - **Description**: Deletes a configuration entry. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_delete_entry) ### git_config_delete_multivar - **Description**: Deletes multiple values for a configuration variable. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_delete_multivar) ### git_config_entry_free - **Description**: Frees a configuration entry. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_entry_free) ### git_config_find_global - **Description**: Locates the global configuration file. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_find_global) ### git_config_find_programdata - **Description**: Locates the programdata configuration file. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_find_programdata) ### git_config_find_system - **Description**: Locates the system configuration file. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_find_system) ### git_config_find_xdg - **Description**: Locates the XDG configuration file. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_find_xdg) ### git_config_foreach - **Description**: Iterates over all configuration entries. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_foreach) ### git_config_foreach_match - **Description**: Iterates over configuration entries matching a pattern. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_foreach_match) ### git_config_free - **Description**: Frees a configuration object. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_free) ### git_config_get_bool - **Description**: Gets a boolean value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_bool) ### git_config_get_entry - **Description**: Gets a configuration entry. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_entry) ### git_config_get_int32 - **Description**: Gets a 32-bit integer value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_int32) ### git_config_get_int64 - **Description**: Gets a 64-bit integer value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_int64) ### git_config_get_mapped - **Description**: Gets a mapped value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_mapped) ### git_config_get_multivar_foreach - **Description**: Iterates over multiple values for a configuration variable. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_multivar_foreach) ### git_config_get_path - **Description**: Gets a path value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_path) ### git_config_get_string - **Description**: Gets a string value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_string) ### git_config_get_string_buf - **Description**: Gets a string buffer value from the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_get_string_buf) ### git_config_iterator_free - **Description**: Frees a configuration iterator. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_iterator_free) ### git_config_iterator_glob_new - **Description**: Creates a configuration iterator with a glob pattern. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_iterator_glob_new) ### git_config_iterator_new - **Description**: Creates a configuration iterator. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_iterator_new) ### git_config_lock - **Description**: Locks the configuration for writing. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_lock) ### git_config_lookup_map_value - **Description**: Looks up a mapped value. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_lookup_map_value) ### git_config_multivar_iterator_new - **Description**: Creates an iterator for multiple values of a variable. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_multivar_iterator_new) ### git_config_new - **Description**: Creates a new configuration object. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_new) ### git_config_next - **Description**: Gets the next configuration entry from an iterator. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_next) ### git_config_open_default - **Description**: Opens the default configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_open_default) ### git_config_open_global - **Description**: Opens the global configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_open_global) ### git_config_open_level - **Description**: Opens a configuration at a specific level. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_open_level) ### git_config_open_ondisk - **Description**: Opens a configuration from a file on disk. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_open_ondisk) ### git_config_parse_bool - **Description**: Parses a boolean value from a string. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_parse_bool) ### git_config_parse_int32 - **Description**: Parses a 32-bit integer from a string. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_parse_int32) ### git_config_parse_int64 - **Description**: Parses a 64-bit integer from a string. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_parse_int64) ### git_config_parse_path - **Description**: Parses a path from a string. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_parse_path) ### git_config_set_bool - **Description**: Sets a boolean value in the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_set_bool) ### git_config_set_int32 - **Description**: Sets a 32-bit integer value in the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_set_int32) ### git_config_set_int64 - **Description**: Sets a 64-bit integer value in the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_set_int64) ### git_config_set_multivar - **Description**: Sets multiple values for a configuration variable. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_set_multivar) ### git_config_set_string - **Description**: Sets a string value in the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_set_string) ### git_config_set_writeorder - **Description**: Sets the write order for the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_set_writeorder) ### git_config_snapshot - **Description**: Creates a snapshot of the configuration. - **Reference**: [libgit2 docs](https://libgit2.org/libgit2/#v1.9.4/group/config/git_config_snapshot) ``` -------------------------------- ### git_repository_workdir Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the working directory of a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_workdir ### Description Gets the working directory of a repository. ### Method Function ### Endpoint `git_repository_workdir` ### Parameters - **repo** (git_repository*) - Required - The repository to query. ### Returns - **const char*** - The working directory path. ``` -------------------------------- ### git_repository_refdb Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the reference database of a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_refdb ### Description Gets the reference database of a repository. ### Method Function ### Endpoint `git_repository_refdb` ### Parameters - **out** (git_refdb**) - Required - Pointer to store the reference database. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### global.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for initializing and shutting down the libgit2 library. ```APIDOC ## global.h ### Functions - `git_libgit2_init` - `git_libgit2_shutdown` ``` -------------------------------- ### git_repository_odb Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the object database of a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_odb ### Description Gets the object database of a repository. ### Method Function ### Endpoint `git_repository_odb` ### Parameters - **out** (git_odb**) - Required - Pointer to store the object database. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### Trace API Functions Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for setting up tracing in libgit2. ```APIDOC ## git_trace_set ### Description Set the tracing function and level for libgit2. ### Method Function ### Signature `git_trace_set` ### Parameters - **level** (git_trace_level_t) - Required - The tracing level. - **callback** (git_trace_cb) - Required - The callback function to receive trace messages. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### git_repository_index Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the index file for a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_index ### Description Gets the index file for a repository. ### Method Function ### Endpoint `git_repository_index` ### Parameters - **out** (git_index**) - Required - Pointer to store the index. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### git_repository_head Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the current HEAD of a repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_head ### Description Gets the current HEAD of a repository. ### Method Function ### Endpoint `git_repository_head` ### Parameters - **out** (git_reference**) - Required - Pointer to store the HEAD reference. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### proxy.h API Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for configuring proxy options. ```APIDOC ## proxy.h API ### Description Functions for configuring proxy options. ### Functions - `git_proxy_options_init` - Initialize proxy options structure. ### References Each function links to the official libgit2 documentation at https://libgit2.org/libgit2/#v1.9.4/group/proxy/. ``` -------------------------------- ### mount.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for mounting and unmounting file systems. ```APIDOC ## mount.h ### Functions - `mount` - `umount` - `umount2` ``` -------------------------------- ### git_repository_item_path Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the path of a specific item in the repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_item_path ### Description Gets the path of a specific item in the repository. ### Method Function ### Endpoint `git_repository_item_path` ### Parameters - **out** (git_buf*) - Required - Pointer to store the path. - **repo** (git_repository*) - Required - The repository to query. - **item** (git_repository_item_t) - Required - The item type. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### fanotify.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for fanotify file system event monitoring. ```APIDOC ## fanotify.h ### Functions - `fanotify_init` - `fanotify_mark` ``` -------------------------------- ### Create and use a FixedArray10 in C# Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/common/readme.md Shows how to create a fixed array of 10 integers using the FixedArray10 type from XenoAtom.Interop and assign values to its elements. ```csharp using XenoAtom.Interop; // Create a fixed array of 10 integers var array = new FixedArray10(); array[0] = 42; array[1] = 43; // ... ``` -------------------------------- ### git_repository_ident Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the identity used for commits in the repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_ident ### Description Gets the identity used for commits in the repository. ### Method Function ### Endpoint `git_repository_ident` ### Parameters - **name** (const char**) - Required - Pointer to store the name. - **email** (const char**) - Required - Pointer to store the email. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### apply.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for applying patches to repositories and trees. ```APIDOC ## git_apply ### Description Applies a patch to a repository. ### Method N/A (C function) ### Endpoint N/A ### Parameters - **repo** (git_repository*) - Required - The repository. - **patch** (git_patch*) - Required - The patch to apply. - **options** (const git_apply_options*) - Optional - Options for the apply operation. ### Response Returns 0 on success, or an error code. ## git_apply_options_init ### Description Initializes a git_apply_options structure. ### Method N/A (C function) ### Endpoint N/A ### Parameters - **opts** (git_apply_options*) - Required - The options structure to initialize. - **version** (unsigned int) - Required - The version of the structure. ### Response Returns 0 on success, or an error code. ## git_apply_to_tree ### Description Applies a patch to a tree. ### Method N/A (C function) ### Endpoint N/A ### Parameters - **out** (git_index**) - Required - Pointer to store the resulting index. - **repo** (git_repository*) - Required - The repository. - **preimage** (git_tree*) - Required - The tree to apply the patch to. - **patch** (git_patch*) - Required - The patch to apply. - **options** (const git_apply_options*) - Optional - Options for the apply operation. ### Response Returns 0 on success, or an error code. ``` -------------------------------- ### git_repository_state Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the state of a repository (e.g., merge, rebase). This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_state ### Description Gets the state of a repository (e.g., merge, rebase). ### Method Function ### Endpoint `git_repository_state` ### Parameters - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - The repository state. ``` -------------------------------- ### clone.h API Functions Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for cloning repositories, including the main clone operation and options initialization. ```APIDOC ## clone.h API Functions ### Description Functions for cloning repositories, including the main clone operation and options initialization. ### Functions - `git_clone` - Clone a repository. - `git_clone_options_init` - Initialize clone options. ### References For detailed documentation, see the [libgit2 clone group](https://libgit2.org/libgit2/#v1.9.4/group/clone). ``` -------------------------------- ### git_repository_oid_type Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the object ID type used by the repository. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_oid_type ### Description Gets the object ID type used by the repository. ### Method Function ### Endpoint `git_repository_oid_type` ### Parameters - **repo** (git_repository*) - Required - The repository to query. ### Returns - **git_oid_t** - The object ID type. ``` -------------------------------- ### uio.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for scatter/gather I/O operations. ```APIDOC ## uio.h ### Functions - `preadv` - `preadv2` - `process_vm_readv` - `process_vm_writev` - `pwritev` - `pwritev2` - `readv` - `writev` ``` -------------------------------- ### git_repository_message Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Gets the message of a repository (e.g., merge message). This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_message ### Description Gets the message of a repository (e.g., merge message). ### Method Function ### Endpoint `git_repository_message` ### Parameters - **out** (git_buf*) - Required - Pointer to store the message. - **repo** (git_repository*) - Required - The repository to query. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### describe.h - Describe Functions Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for describing commits and working directories using git describe. ```APIDOC ## describe.h Functions ### git_describe_commit Describes a commit. ### git_describe_format Formats a describe result. ### git_describe_format_options_init Initializes format options. ### git_describe_options_init Initializes describe options. ### git_describe_result_free Frees a describe result. ### git_describe_workdir Describes the working directory. ``` -------------------------------- ### Supported Vulkan Commands Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/vulkan/readme.md A list of all Vulkan commands that are supported for direct invocation through the interop library. ```APIDOC ## Supported Vulkan Commands ### Description This section lists all Vulkan commands that can be called directly through the interop library. Each command is a function from the Vulkan API that can be invoked by the user. ### Commands - `vkCmdCopyBuffer` - `vkCmdCopyBuffer2` - `vkCmdCopyBuffer2KHR` - `vkCmdCopyBufferToImage` - `vkCmdCopyBufferToImage2` - `vkCmdCopyBufferToImage2KHR` - `vkCmdCopyImage` - `vkCmdCopyImage2` - `vkCmdCopyImage2KHR` - `vkCmdCopyImageToBuffer` - `vkCmdCopyImageToBuffer2` - `vkCmdCopyImageToBuffer2KHR` - `vkCmdCopyImageToMemoryKHR` - `vkCmdCopyMemoryIndirectKHR` - `vkCmdCopyMemoryIndirectNV` - `vkCmdCopyMemoryKHR` - `vkCmdCopyMemoryToAccelerationStructureKHR` - `vkCmdCopyMemoryToImageIndirectKHR` - `vkCmdCopyMemoryToImageIndirectNV` - `vkCmdCopyMemoryToImageKHR` - `vkCmdCopyMemoryToMicromapEXT` - `vkCmdCopyMicromapEXT` - `vkCmdCopyMicromapToMemoryEXT` - `vkCmdCopyQueryPoolResults` - `vkCmdCopyQueryPoolResultsToMemoryKHR` - `vkCmdCopyTensorARM` - `vkCmdCuLaunchKernelNVX` - `vkCmdDebugMarkerBeginEXT` - `vkCmdDebugMarkerEndEXT` - `vkCmdDebugMarkerInsertEXT` - `vkCmdDecodeVideoKHR` - `vkCmdDecompressMemoryEXT` - `vkCmdDecompressMemoryIndirectCountEXT` - `vkCmdDecompressMemoryIndirectCountNV` - `vkCmdDecompressMemoryNV` - `vkCmdDispatch` - `vkCmdDispatchBase` - `vkCmdDispatchBaseKHR` - `vkCmdDispatchDataGraphARM` - `vkCmdDispatchIndirect` - `vkCmdDispatchIndirect2KHR` - `vkCmdDispatchTileQCOM` - `vkCmdDraw` - `vkCmdDrawClusterHUAWEI` - `vkCmdDrawClusterIndirectHUAWEI` - `vkCmdDrawIndexed` - `vkCmdDrawIndexedIndirect` - `vkCmdDrawIndexedIndirect2KHR` - `vkCmdDrawIndexedIndirectCount` - `vkCmdDrawIndexedIndirectCount2KHR` - `vkCmdDrawIndexedIndirectCountAMD` - `vkCmdDrawIndexedIndirectCountKHR` - `vkCmdDrawIndirect` - `vkCmdDrawIndirect2KHR` - `vkCmdDrawIndirectByteCount2EXT` - `vkCmdDrawIndirectByteCountEXT` - `vkCmdDrawIndirectCount` - `vkCmdDrawIndirectCount2KHR` - `vkCmdDrawIndirectCountAMD` - `vkCmdDrawIndirectCountKHR` - `vkCmdDrawMeshTasksEXT` - `vkCmdDrawMeshTasksIndirect2EXT` - `vkCmdDrawMeshTasksIndirectCount2EXT` - `vkCmdDrawMeshTasksIndirectCountEXT` - `vkCmdDrawMeshTasksIndirectCountNV` - `vkCmdDrawMeshTasksIndirectEXT` - `vkCmdDrawMeshTasksIndirectNV` - `vkCmdDrawMeshTasksNV` - `vkCmdDrawMultiEXT` - `vkCmdDrawMultiIndexedEXT` - `vkCmdEncodeVideoKHR` - `vkCmdEndConditionalRenderingEXT` - `vkCmdEndDebugUtilsLabelEXT` - `vkCmdEndPerTileExecutionQCOM` - `vkCmdEndQuery` - `vkCmdEndQueryIndexedEXT` - `vkCmdEndRenderPass` - `vkCmdEndRenderPass2` - `vkCmdEndRenderPass2KHR` - `vkCmdEndRendering` - `vkCmdEndRendering2EXT` - `vkCmdEndRendering2KHR` - `vkCmdEndRenderingKHR` - `vkCmdEndShaderInstrumentationARM` - `vkCmdEndTransformFeedback2EXT` - `vkCmdEndTransformFeedbackEXT` - `vkCmdEndVideoCodingKHR` - `vkCmdExecuteCommands` - `vkCmdExecuteGeneratedCommandsEXT` - `vkCmdExecuteGeneratedCommandsNV` - `vkCmdFillBuffer` - `vkCmdFillMemoryKHR` - `vkCmdInsertDebugUtilsLabelEXT` - `vkCmdNextSubpass` - `vkCmdNextSubpass2` - `vkCmdNextSubpass2KHR` - `vkCmdOpticalFlowExecuteNV` - `vkCmdPipelineBarrier` - `vkCmdPipelineBarrier2` - `vkCmdPipelineBarrier2KHR` - `vkCmdPreprocessGeneratedCommandsEXT` - `vkCmdPreprocessGeneratedCommandsNV` - `vkCmdPushConstants` - `vkCmdPushConstants2` - `vkCmdPushConstants2KHR` - `vkCmdPushDataEXT` - `vkCmdPushDescriptorSet` - `vkCmdPushDescriptorSet2` - `vkCmdPushDescriptorSet2KHR` - `vkCmdPushDescriptorSetKHR` - `vkCmdPushDescriptorSetWithTemplate` - `vkCmdPushDescriptorSetWithTemplate2` - `vkCmdPushDescriptorSetWithTemplate2KHR` - `vkCmdPushDescriptorSetWithTemplateKHR` - `vkCmdResetEvent` - `vkCmdResetEvent2` - `vkCmdResetEvent2KHR` - `vkCmdResetQueryPool` - `vkCmdResolveImage` - `vkCmdResolveImage2` - `vkCmdResolveImage2KHR` - `vkCmdSetAlphaToCoverageEnableEXT` - `vkCmdSetAlphaToOneEnableEXT` - `vkCmdSetAttachmentFeedbackLoopEnableEXT` - `vkCmdSetBlendConstants` - `vkCmdSetCheckpointNV` - `vkCmdSetCoarseSampleOrderNV` - `vkCmdSetColorBlendAdvancedEXT` - `vkCmdSetColorBlendEnableEXT` - `vkCmdSetColorBlendEquationEXT` - `vkCmdSetColorWriteEnableEXT` - `vkCmdSetColorWriteMaskEXT` - `vkCmdSetComputeOccupancyPriorityNV` - `vkCmdSetConservativeRasterizationModeEXT` - `vkCmdSetCoverageModulationModeNV` - `vkCmdSetCoverageModulationTableEnableNV` - `vkCmdSetCoverageModulationTableNV` - `vkCmdSetCoverageReductionModeNV` - `vkCmdSetCoverageToColorEnableNV` - `vkCmdSetCoverageToColorLocationNV` - `vkCmdSetCullMode` - `vkCmdSetCullModeEXT` - `vkCmdSetDepthBias` - `vkCmdSetDepthBias2EXT` - `vkCmdSetDepthBiasEnable` - `vkCmdSetDepthBiasEnableEXT` - `vkCmdSetDepthBounds` - `vkCmdSetDepthBoundsTestEnable` - `vkCmdSetDepthBoundsTestEnableEXT` - `vkCmdSetDepthClampEnableEXT` - `vkCmdSetDepthClampRangeEXT` - `vkCmdSetDepthClipEnableEXT` - `vkCmdSetDepthClipNegativeOneToOneEXT` - `vkCmdSetDepthCompareOp` - `vkCmdSetDepthCompareOpEXT` - `vkCmdSetDepthTestEnable` - `vkCmdSetDepthTestEnableEXT` - `vkCmdSetDepthWriteEnable` - `vkCmdSetDepthWriteEnableEXT` - `vkCmdSetDescriptorBufferOffsets2EXT` - `vkCmdSetDescriptorBufferOffsetsEXT` - `vkCmdSetDeviceMask` - `vkCmdSetDeviceMaskKHR` - `vkCmdSetDiscardRectangleEXT` - `vkCmdSetDiscardRectangleEnableEXT` - `vkCmdSetDiscardRectangleModeEXT` - `vkCmdSetEvent` - `vkCmdSetEvent2` - `vkCmdSetEvent2KHR` - `vkCmdSetExclusiveScissorEnableNV` - `vkCmdSetExclusiveScissorNV` - `vkCmdSetExtraPrimitiveOverestimationSizeEXT` ``` -------------------------------- ### git_repository_open_ext Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Opens a repository with extended options. This function is part of the libgit2 repository API and is supported by the xenoatom.interop project. ```APIDOC ## git_repository_open_ext ### Description Opens a repository with extended options. ### Method Function ### Endpoint `git_repository_open_ext` ### Parameters - **out** (git_repository**) - Required - Pointer to store the opened repository. - **path** (const char*) - Required - The path to the repository. - **flags** (unsigned int) - Required - Flags for opening. - **ceiling_dirs** (const char*) - Required - A list of ceiling directories. ### Returns - **int** - 0 on success, or an error code. ``` -------------------------------- ### odb_backend.h Functions Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for creating ODB backends for loose objects and packfiles. ```APIDOC ## odb_backend.h Functions ### Description Functions for creating ODB backends for loose objects and packfiles. ### Functions - `git_odb_backend_loose` - Create a backend for loose objects. - `git_odb_backend_one_pack` - Create a backend for a single packfile. - `git_odb_backend_pack` - Create a backend for packfiles. ### References For detailed documentation, see the [libgit2 odb_backend.h documentation](https://libgit2.org/libgit2/#v1.9.4/group/odb_backend). ``` -------------------------------- ### klog.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Function for kernel logging control. ```APIDOC ## klog.h ### Functions - `klogctl` ``` -------------------------------- ### inotify.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for inotify file system event monitoring. ```APIDOC ## inotify.h ### Functions - `inotify_add_watch` - `inotify_init` - `inotify_init1` - `inotify_rm_watch` ``` -------------------------------- ### mman.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for memory management and mapping. ```APIDOC ## mman.h ### Functions - `madvise` - `memfd_create` - `mincore` - `mlock` - `mlock2` - `mlockall` - `mmap` - `mprotect` - `mremap` - `msync` - `munlock` - `munlockall` - `munmap` - `posix_madvise` - `remap_file_pages` - `shm_open` - `shm_unlink` ``` -------------------------------- ### swap.h Functions Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions from the swap.h header for swap operations. ```APIDOC ## swap.h Functions ### swapoff - **Description**: Stops swapping to a file or device. - **Reference**: [man7.org](https://man7.org/linux/man-pages/man2/swapon.2.html) ### swapon - **Description**: Starts swapping to a file or device. - **Reference**: [man7.org](https://man7.org/linux/man-pages/man2/swapon.2.html) ``` -------------------------------- ### fsuid.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Functions for setting file system user and group IDs. ```APIDOC ## fsuid.h ### Functions - `setfsgid` - `setfsuid` ``` -------------------------------- ### common.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/libgit2/readme.md Functions for querying libgit2 features and version information. ```APIDOC ## common.h ### Functions - `git_libgit2_feature_backend` - `git_libgit2_features` - `git_libgit2_prerelease` - `git_libgit2_version` ``` -------------------------------- ### reboot.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Function to reboot or enable/disable Ctrl-Alt-Del. ```APIDOC ## reboot.h ### Functions - `reboot` - Reboot or enable/disable Ctrl-Alt-Del. ### References - [reboot](https://man7.org/linux/man-pages/man2/reboot.2.html) ``` -------------------------------- ### membarrier.h Source: https://github.com/xenoatom/xenoatom.interop/blob/main/src/musl/readme.md Function for memory barriers. ```APIDOC ## membarrier.h ### Functions - `membarrier` ```