Skip to content

Instantly share code, notes, and snippets.

@tjfontaine
Created February 2, 2013 05:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tjfontaine/a10266f88d0a1f57b816 to your computer and use it in GitHub Desktop.
Save tjfontaine/a10266f88d0a1f57b816 to your computer and use it in GitHub Desktop.
var FFI = require('ffi'),
ArrayType = require('ref-array'),
Struct = require('ref-struct'),
ref = require('ref');
var voidPtr = ref.refType(ref.types.void);
exports.CONSTANTS = {
'': {
'0': 'GIT_SUBMODULE_UPDATE_CHECKOUT',
'1': 'GIT_RESET_SOFT',
'2': 'GIT_RESET_MIXED',
'3': 'GIT_RESET_HARD',
'4': 'GIT_CHECKOUT_NOTIFY_UPDATED',
'5': 'GIT_DELTA_COPIED',
'6': 'GIT_DELTA_IGNORED',
'7': 'GIT_DELTA_UNTRACKED',
'8': 'GIT_CHECKOUT_NOTIFY_UNTRACKED',
'16': 'GIT_CHECKOUT_NOTIFY_IGNORED',
'16384': 'GIT_FILEMODE_TREE',
'33188': 'GIT_FILEMODE_BLOB',
'33261': 'GIT_FILEMODE_BLOB_EXECUTABLE',
'40960': 'GIT_FILEMODE_LINK',
'57344': 'GIT_FILEMODE_COMMIT',
GIT_OBJ_ANY: -2,
'-2': 'GIT_OBJ_ANY',
GIT_OBJ_BAD: -1,
'-1': 'GIT_SUBMODULE_UPDATE_DEFAULT',
GIT_OBJ__EXT1: 0,
GIT_OBJ_COMMIT: 1,
GIT_OBJ_TREE: 2,
GIT_OBJ_BLOB: 3,
GIT_OBJ_TAG: 4,
GIT_OBJ__EXT2: 5,
GIT_OBJ_OFS_DELTA: 6,
GIT_OBJ_REF_DELTA: 7,
GIT_REF_INVALID: 0,
GIT_REF_OID: 1,
GIT_REF_SYMBOLIC: 2,
GIT_REF_PACKED: 4,
GIT_REF_HAS_PEEL: 8,
GIT_REF_LISTALL: 7,
GIT_FILEMODE_NEW: 0,
GIT_FILEMODE_TREE: 16384,
GIT_FILEMODE_BLOB: 33188,
GIT_FILEMODE_BLOB_EXECUTABLE: 33261,
GIT_FILEMODE_LINK: 40960,
GIT_FILEMODE_COMMIT: 57344,
GIT_TREEWALK_PRE: 0,
GIT_TREEWALK_POST: 1,
GIT_DELTA_UNMODIFIED: 0,
GIT_DELTA_ADDED: 1,
GIT_DELTA_DELETED: 2,
GIT_DELTA_MODIFIED: 3,
GIT_DELTA_RENAMED: 4,
GIT_DELTA_COPIED: 5,
GIT_DELTA_IGNORED: 6,
GIT_DELTA_UNTRACKED: 7,
GIT_DELTA_TYPECHANGE: 8,
GIT_CVAR_FALSE: 0,
GIT_CVAR_TRUE: 1,
GIT_CVAR_INT32: 2,
GIT_CVAR_STRING: 3,
GIT_DIRECTION_FETCH: 0,
GIT_DIRECTION_PUSH: 1,
GIT_REMOTE_DOWNLOAD_TAGS_UNSET: 0,
GIT_REMOTE_DOWNLOAD_TAGS_NONE: 1,
GIT_REMOTE_DOWNLOAD_TAGS_AUTO: 2,
GIT_REMOTE_DOWNLOAD_TAGS_ALL: 3,
GIT_CHECKOUT_NOTIFY_NONE: 0,
GIT_CHECKOUT_NOTIFY_CONFLICT: 1,
GIT_CHECKOUT_NOTIFY_DIRTY: 2,
GIT_CHECKOUT_NOTIFY_UPDATED: 4,
GIT_CHECKOUT_NOTIFY_UNTRACKED: 8,
GIT_CHECKOUT_NOTIFY_IGNORED: 16,
GIT_ATTR_UNSPECIFIED_T: 0,
GIT_ATTR_TRUE_T: 1,
GIT_ATTR_FALSE_T: 2,
GIT_ATTR_VALUE_T: 3,
GIT_BRANCH_LOCAL: 1,
GIT_BRANCH_REMOTE: 2,
GIT_STATUS_SHOW_INDEX_AND_WORKDIR: 0,
GIT_STATUS_SHOW_INDEX_ONLY: 1,
GIT_STATUS_SHOW_WORKDIR_ONLY: 2,
GIT_STATUS_SHOW_INDEX_THEN_WORKDIR: 3,
GIT_SUBMODULE_IGNORE_DEFAULT: -1,
GIT_SUBMODULE_IGNORE_NONE: 0,
GIT_SUBMODULE_IGNORE_UNTRACKED: 1,
GIT_SUBMODULE_IGNORE_DIRTY: 2,
GIT_SUBMODULE_IGNORE_ALL: 3,
GIT_SUBMODULE_UPDATE_DEFAULT: -1,
GIT_SUBMODULE_UPDATE_CHECKOUT: 0,
GIT_SUBMODULE_UPDATE_REBASE: 1,
GIT_SUBMODULE_UPDATE_MERGE: 2,
GIT_SUBMODULE_UPDATE_NONE: 3,
GIT_RESET_SOFT: 1,
GIT_RESET_MIXED: 2,
GIT_RESET_HARD: 3
}
};
var git_oid = exports.git_oid = Struct({
id: ArrayType(ref.types.uchar, 20),
});
var git_oidPtr = exports.git_oidPtr = ref.refType(git_oid);
var git_oid_shorten = exports.git_oid_shorten = voidPtr;
var git_oid_shortenPtr = exports.git_oid_shortenPtr = ref.refType(git_oid_shorten);
var git_time = exports.git_time = Struct({
time: ref.types.longlong,
offset: ref.types.int32,
});
var git_timePtr = exports.git_timePtr = ref.refType(git_time);
var git_signature = exports.git_signature = Struct({
name: ref.types.CString,
email: ref.types.CString,
when: git_time,
});
var git_signaturePtr = exports.git_signaturePtr = ref.refType(git_signature);
var git_transfer_progress_callback = exports.git_transfer_progress_callback = FFI.Function(ref.types.void, [voidPtr, voidPtr]);
var git_indexer_stream = exports.git_indexer_stream = voidPtr;
var git_indexer_streamPtr = exports.git_indexer_streamPtr = ref.refType(git_indexer_stream);
var git_transfer_progress = exports.git_transfer_progress = Struct({
total_objects: ref.types.uint32,
indexed_objects: ref.types.uint32,
received_objects: ref.types.uint32,
received_bytes: ref.types.ulong,
});
var git_transfer_progressPtr = exports.git_transfer_progressPtr = ref.refType(git_transfer_progress);
var git_indexer = exports.git_indexer = voidPtr;
var git_indexerPtr = exports.git_indexerPtr = ref.refType(git_indexer);
var git_odb = exports.git_odb = voidPtr;
var git_odbPtr = exports.git_odbPtr = ref.refType(git_odb);
var git_odb_backend = exports.git_odb_backend = Struct({
version: ref.types.uint32,
odb: git_odb,
read: voidPtr,
read_prefix: voidPtr,
read_header: voidPtr,
write: voidPtr,
writestream: voidPtr,
readstream: voidPtr,
exists: voidPtr,
refresh: voidPtr,
foreach: voidPtr,
writepack: voidPtr,
free: voidPtr,
});
var git_odb_backendPtr = exports.git_odb_backendPtr = ref.refType(git_odb_backend);
var git_odb_backend = exports.git_odb_backend = Struct({
git_odb_backend: git_odb_backend,
});
var git_odb_backendPtr = exports.git_odb_backendPtr = ref.refType(git_odb_backend);
var size_t = exports.size_t = Struct({
__darwin_size_t: ref.types.ulong,
});
var size_tPtr = exports.size_tPtr = ref.refType(size_t);
var git_otype = exports.git_otype = voidPtr;
var git_otypePtr = exports.git_otypePtr = ref.refType(git_otype);
var git_odb_foreach_cb = exports.git_odb_foreach_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr]);
var git_odb_object = exports.git_odb_object = voidPtr;
var git_odb_objectPtr = exports.git_odb_objectPtr = ref.refType(git_odb_object);
var git_repository = exports.git_repository = voidPtr;
var git_repositoryPtr = exports.git_repositoryPtr = ref.refType(git_repository);
var git_repository_init_options = exports.git_repository_init_options = Struct({
version: ref.types.uint32,
flags: ref.types.uint32,
mode: ref.types.uint32,
workdir_path: ref.types.CString,
description: ref.types.CString,
template_path: ref.types.CString,
initial_head: ref.types.CString,
origin_url: ref.types.CString,
});
var git_repository_init_optionsPtr = exports.git_repository_init_optionsPtr = ref.refType(git_repository_init_options);
var git_config = exports.git_config = voidPtr;
var git_configPtr = exports.git_configPtr = ref.refType(git_config);
var git_index = exports.git_index = voidPtr;
var git_indexPtr = exports.git_indexPtr = ref.refType(git_index);
var git_repository_fetchhead_foreach_cb = exports.git_repository_fetchhead_foreach_cb = FFI.Function(ref.types.int32, [ref.types.CString, ref.types.CString, voidPtr, ref.types.uint32, voidPtr]);
var git_repository_mergehead_foreach_cb = exports.git_repository_mergehead_foreach_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr]);
var git_revwalk = exports.git_revwalk = voidPtr;
var git_revwalkPtr = exports.git_revwalkPtr = ref.refType(git_revwalk);
var git_strarray = exports.git_strarray = Struct({
strings: voidPtr,
count: ref.types.ulong,
});
var git_strarrayPtr = exports.git_strarrayPtr = ref.refType(git_strarray);
var git_reference = exports.git_reference = voidPtr;
var git_referencePtr = exports.git_referencePtr = ref.refType(git_reference);
var git_reference_foreach_cb = exports.git_reference_foreach_cb = FFI.Function(ref.types.int32, [ref.types.CString, voidPtr]);
var git_reflog = exports.git_reflog = voidPtr;
var git_reflogPtr = exports.git_reflogPtr = ref.refType(git_reflog);
var git_reflog_entry = exports.git_reflog_entry = voidPtr;
var git_reflog_entryPtr = exports.git_reflog_entryPtr = ref.refType(git_reflog_entry);
var git_object = exports.git_object = voidPtr;
var git_objectPtr = exports.git_objectPtr = ref.refType(git_object);
var git_blob = exports.git_blob = voidPtr;
var git_blobPtr = exports.git_blobPtr = ref.refType(git_blob);
var git_blob_chunk_cb = exports.git_blob_chunk_cb = FFI.Function(ref.types.int32, [ref.types.CString, ref.types.ulong, voidPtr]);
var git_commit = exports.git_commit = voidPtr;
var git_commitPtr = exports.git_commitPtr = ref.refType(git_commit);
var git_tree = exports.git_tree = voidPtr;
var git_treePtr = exports.git_treePtr = ref.refType(git_tree);
var git_tag = exports.git_tag = voidPtr;
var git_tagPtr = exports.git_tagPtr = ref.refType(git_tag);
var git_tag_foreach_cb = exports.git_tag_foreach_cb = FFI.Function(ref.types.int32, [ref.types.CString, voidPtr, voidPtr]);
var git_tree_entry = exports.git_tree_entry = voidPtr;
var git_tree_entryPtr = exports.git_tree_entryPtr = ref.refType(git_tree_entry);
var git_treebuilder = exports.git_treebuilder = voidPtr;
var git_treebuilderPtr = exports.git_treebuilderPtr = ref.refType(git_treebuilder);
var git_treebuilder_filter_cb = exports.git_treebuilder_filter_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr]);
var git_treewalk_cb = exports.git_treewalk_cb = FFI.Function(ref.types.int32, [ref.types.CString, voidPtr, voidPtr]);
var git_diff_list = exports.git_diff_list = voidPtr;
var git_diff_listPtr = exports.git_diff_listPtr = ref.refType(git_diff_list);
var git_diff_options = exports.git_diff_options = Struct({
version: ref.types.uint32,
flags: ref.types.uint32,
context_lines: ref.types.ushort,
interhunk_lines: ref.types.ushort,
old_prefix: ref.types.CString,
new_prefix: ref.types.CString,
pathspec: git_strarray,
max_size: ref.types.longlong,
});
var git_diff_optionsPtr = exports.git_diff_optionsPtr = ref.refType(git_diff_options);
var git_diff_find_options = exports.git_diff_find_options = Struct({
version: ref.types.uint32,
flags: ref.types.uint32,
rename_threshold: ref.types.uint32,
rename_from_rewrite_threshold: ref.types.uint32,
copy_threshold: ref.types.uint32,
break_rewrite_threshold: ref.types.uint32,
target_limit: ref.types.uint32,
});
var git_diff_find_optionsPtr = exports.git_diff_find_optionsPtr = ref.refType(git_diff_find_options);
var git_diff_file_cb = exports.git_diff_file_cb = FFI.Function(ref.types.int32, [voidPtr, ref.types.float, voidPtr]);
var git_diff_hunk_cb = exports.git_diff_hunk_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr, ref.types.CString, ref.types.ulong, voidPtr]);
var git_diff_data_cb = exports.git_diff_data_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr, ref.types.char, ref.types.CString, ref.types.ulong, voidPtr]);
var git_diff_patch = exports.git_diff_patch = voidPtr;
var git_diff_patchPtr = exports.git_diff_patchPtr = ref.refType(git_diff_patch);
var git_diff_file = exports.git_diff_file = Struct({
oid: git_oid,
path: ref.types.CString,
size: ref.types.longlong,
flags: ref.types.uint32,
mode: ref.types.ushort,
});
var git_diff_filePtr = exports.git_diff_filePtr = ref.refType(git_diff_file);
var git_diff_delta = exports.git_diff_delta = Struct({
old_file: git_diff_file,
new_file: git_diff_file,
status: ref.types.uint32,
similarity: ref.types.uint32,
binary: ref.types.int32,
});
var git_diff_deltaPtr = exports.git_diff_deltaPtr = ref.refType(git_diff_delta);
var git_index_time = exports.git_index_time = Struct({
seconds: ref.types.longlong,
nanoseconds: ref.types.uint32,
});
var git_index_timePtr = exports.git_index_timePtr = ref.refType(git_index_time);
var git_index_entry = exports.git_index_entry = Struct({
ctime: git_index_time,
mtime: git_index_time,
dev: ref.types.uint32,
ino: ref.types.uint32,
mode: ref.types.uint32,
uid: ref.types.uint32,
gid: ref.types.uint32,
file_size: ref.types.longlong,
oid: git_oid,
flags: ref.types.ushort,
flags_extended: ref.types.ushort,
path: ref.types.CString,
});
var git_index_entryPtr = exports.git_index_entryPtr = ref.refType(git_index_entry);
var git_index_reuc_entry = exports.git_index_reuc_entry = Struct({
mode: ArrayType(ref.types.uint32, 3),
oid: ArrayType(git_oid, 3),
path: ref.types.CString,
});
var git_index_reuc_entryPtr = exports.git_index_reuc_entryPtr = ref.refType(git_index_reuc_entry);
var git_config_backend = exports.git_config_backend = Struct({
version: ref.types.uint32,
cfg: voidPtr,
open: voidPtr,
get: voidPtr,
get_multivar: voidPtr,
set: voidPtr,
set_multivar: voidPtr,
del: voidPtr,
foreach: voidPtr,
refresh: voidPtr,
free: voidPtr,
});
var git_config_backendPtr = exports.git_config_backendPtr = ref.refType(git_config_backend);
var git_config_backend = exports.git_config_backend = Struct({
git_config_backend: git_config_backend,
});
var git_config_backendPtr = exports.git_config_backendPtr = ref.refType(git_config_backend);
var int32_t = exports.int32_t = voidPtr;
var int32_tPtr = exports.int32_tPtr = ref.refType(int32_t);
var int64_t = exports.int64_t = voidPtr;
var int64_tPtr = exports.int64_tPtr = ref.refType(int64_t);
var git_config_foreach_cb = exports.git_config_foreach_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr]);
var git_cvar_map = exports.git_cvar_map = Struct({
cvar_type: ref.types.uint32,
str_match: ref.types.CString,
map_value: ref.types.int32,
});
var git_cvar_mapPtr = exports.git_cvar_mapPtr = ref.refType(git_cvar_map);
var git_remote = exports.git_remote = voidPtr;
var git_remotePtr = exports.git_remotePtr = ref.refType(git_remote);
var git_transport = exports.git_transport = Struct({
version: ref.types.uint32,
set_callbacks: voidPtr,
connect: voidPtr,
ls: voidPtr,
push: voidPtr,
negotiate_fetch: voidPtr,
download_pack: voidPtr,
is_connected: voidPtr,
read_flags: voidPtr,
cancel: voidPtr,
close: voidPtr,
free: voidPtr,
});
var git_transportPtr = exports.git_transportPtr = ref.refType(git_transport);
var git_refspec = exports.git_refspec = voidPtr;
var git_refspecPtr = exports.git_refspecPtr = ref.refType(git_refspec);
var git_headlist_cb = exports.git_headlist_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr]);
var git_cred_acquire_cb = exports.git_cred_acquire_cb = FFI.Function(ref.types.int32, [voidPtr, ref.types.CString, ref.types.uint32, voidPtr]);
var git_remote_callbacks = exports.git_remote_callbacks = Struct({
version: ref.types.uint32,
progress: voidPtr,
completion: voidPtr,
update_tips: voidPtr,
payload: voidPtr,
});
var git_remote_callbacksPtr = exports.git_remote_callbacksPtr = ref.refType(git_remote_callbacks);
var git_remote_callbacks = exports.git_remote_callbacks = Struct({
git_remote_callbacks: git_remote_callbacks,
});
var git_remote_callbacksPtr = exports.git_remote_callbacksPtr = ref.refType(git_remote_callbacks);
var git_remote_rename_problem_cb = exports.git_remote_rename_problem_cb = FFI.Function(ref.types.int32, [ref.types.CString, voidPtr]);
var git_checkout_notify_cb = exports.git_checkout_notify_cb = FFI.Function(ref.types.int32, [ref.types.uint32, ref.types.CString, voidPtr, voidPtr, voidPtr, voidPtr]);
var git_checkout_progress_cb = exports.git_checkout_progress_cb = FFI.Function(ref.types.void, [ref.types.CString, ref.types.ulong, ref.types.ulong, voidPtr]);
var git_checkout_opts = exports.git_checkout_opts = Struct({
version: ref.types.uint32,
checkout_strategy: ref.types.uint32,
disable_filters: ref.types.int32,
dir_mode: ref.types.uint32,
file_mode: ref.types.uint32,
file_open_flags: ref.types.int32,
notify_flags: ref.types.uint32,
notify_cb: git_checkout_notify_cb,
notify_payload: voidPtr,
progress_cb: git_checkout_progress_cb,
progress_payload: voidPtr,
paths: git_strarray,
baseline: git_treePtr,
});
var git_checkout_optsPtr = exports.git_checkout_optsPtr = ref.refType(git_checkout_opts);
var git_clone_options = exports.git_clone_options = Struct({
version: ref.types.uint32,
checkout_opts: git_checkout_opts,
bare: ref.types.int32,
fetch_progress_cb: git_transfer_progress_callback,
fetch_progress_payload: voidPtr,
remote_name: ref.types.CString,
pushurl: ref.types.CString,
fetch_spec: ref.types.CString,
push_spec: ref.types.CString,
cred_acquire_cb: git_cred_acquire_cb,
cred_acquire_payload: voidPtr,
transport: git_transportPtr,
remote_callbacks: git_remote_callbacksPtr,
remote_autotag: ref.types.uint32,
checkout_branch: ref.types.CString,
});
var git_clone_optionsPtr = exports.git_clone_optionsPtr = ref.refType(git_clone_options);
var git_push = exports.git_push = voidPtr;
var git_pushPtr = exports.git_pushPtr = ref.refType(git_push);
var git_attr_foreach_cb = exports.git_attr_foreach_cb = FFI.Function(ref.types.int32, [ref.types.CString, ref.types.CString, voidPtr]);
var git_status_cb = exports.git_status_cb = FFI.Function(ref.types.int32, [ref.types.CString, ref.types.uint32, voidPtr]);
var git_status_options = exports.git_status_options = Struct({
version: ref.types.uint32,
show: ref.types.uint32,
flags: ref.types.uint32,
pathspec: git_strarray,
});
var git_status_optionsPtr = exports.git_status_optionsPtr = ref.refType(git_status_options);
var git_submodule = exports.git_submodule = voidPtr;
var git_submodulePtr = exports.git_submodulePtr = ref.refType(git_submodule);
var git_note = exports.git_note = voidPtr;
var git_notePtr = exports.git_notePtr = ref.refType(git_note);
var git_note_foreach_cb = exports.git_note_foreach_cb = FFI.Function(ref.types.int32, [voidPtr, voidPtr, voidPtr]);
var git_packbuilder = exports.git_packbuilder = voidPtr;
var git_packbuilderPtr = exports.git_packbuilderPtr = ref.refType(git_packbuilder);
var git_packbuilder_foreach_cb = exports.git_packbuilder_foreach_cb = FFI.Function(ref.types.int32, [voidPtr, ref.types.ulong, voidPtr]);
var git_stash_cb = exports.git_stash_cb = FFI.Function(ref.types.int32, [ref.types.ulong, ref.types.CString, voidPtr, voidPtr]);
exports.libgit2 = new FFI.Library('libgit2', {
git_libgit2_version: [ref.types.void, [voidPtr, voidPtr, voidPtr]],
git_libgit2_capabilities: [ref.types.int32, []],
git_libgit2_opts: [ref.types.void, [ref.types.int32]],
git_threads_init: [ref.types.int32, []],
git_threads_shutdown: [ref.types.void, []],
git_oid_fromstr: [ref.types.int32, [git_oidPtr, ref.types.CString]],
git_oid_fromstrn: [ref.types.int32, [git_oidPtr, ref.types.CString, ref.types.ulong]],
git_oid_fromraw: [ref.types.void, [git_oidPtr, voidPtr]],
git_oid_fmt: [ref.types.void, [ref.types.CString, git_oidPtr]],
git_oid_pathfmt: [ref.types.void, [ref.types.CString, git_oidPtr]],
git_oid_allocfmt: [ref.types.CString, [git_oidPtr]],
git_oid_tostr: [ref.types.CString, [ref.types.CString, ref.types.ulong, git_oidPtr]],
git_oid_cpy: [ref.types.void, [git_oidPtr, git_oidPtr]],
git_oid_cmp: [ref.types.int32, [git_oidPtr, git_oidPtr]],
git_oid_equal: [ref.types.int32, [git_oidPtr, git_oidPtr]],
git_oid_ncmp: [ref.types.int32, [git_oidPtr, git_oidPtr, ref.types.ulong]],
git_oid_streq: [ref.types.int32, [git_oidPtr, ref.types.CString]],
git_oid_iszero: [ref.types.int32, [git_oidPtr]],
git_oid_shorten_new: [git_oid_shorten, [ref.types.ulong]],
git_oid_shorten_add: [ref.types.int32, [git_oid_shortenPtr, ref.types.CString]],
git_oid_shorten_free: [ref.types.void, [git_oid_shortenPtr]],
git_signature_new: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.CString, ref.types.longlong, ref.types.int32]],
git_signature_now: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.CString]],
git_signature_dup: [git_signaturePtr, [git_signaturePtr]],
git_signature_free: [ref.types.void, [git_signaturePtr]],
git_indexer_stream_new: [ref.types.int32, [voidPtr, ref.types.CString, git_transfer_progress_callback, voidPtr]],
git_indexer_stream_add: [ref.types.int32, [git_indexer_stream, voidPtr, ref.types.ulong, git_transfer_progressPtr]],
git_indexer_stream_finalize: [ref.types.int32, [git_indexer_streamPtr, git_transfer_progressPtr]],
git_indexer_stream_hash: [git_oidPtr, [git_indexer_streamPtr]],
git_indexer_stream_free: [ref.types.void, [git_indexer_streamPtr]],
git_indexer_new: [ref.types.int32, [voidPtr, ref.types.CString]],
git_indexer_run: [ref.types.int32, [git_indexer, git_transfer_progressPtr]],
git_indexer_write: [ref.types.int32, [git_indexerPtr]],
git_indexer_hash: [git_oidPtr, [git_indexerPtr]],
git_indexer_free: [ref.types.void, [git_indexerPtr]],
git_odb_backend_malloc: [voidPtr, [git_odb_backendPtr, ref.types.ulong]],
git_odb_backend_pack: [ref.types.int32, [voidPtr, ref.types.CString]],
git_odb_backend_loose: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.int32, ref.types.int32]],
git_odb_backend_one_pack: [ref.types.int32, [voidPtr, ref.types.CString]],
git_odb_new: [ref.types.int32, [voidPtr]],
git_odb_open: [ref.types.int32, [voidPtr, ref.types.CString]],
git_odb_add_backend: [ref.types.int32, [git_odbPtr, git_odb_backendPtr, ref.types.int32]],
git_odb_add_alternate: [ref.types.int32, [git_odbPtr, git_odb_backendPtr, ref.types.int32]],
git_odb_add_disk_alternate: [ref.types.int32, [git_odbPtr, ref.types.CString]],
git_odb_free: [ref.types.void, [git_odbPtr]],
git_odb_read: [ref.types.int32, [voidPtr, git_odbPtr, git_oidPtr]],
git_odb_read_prefix: [ref.types.int32, [voidPtr, git_odbPtr, git_oidPtr, ref.types.ulong]],
git_odb_read_header: [ref.types.int32, [size_tPtr, git_otype, git_odbPtr, git_oidPtr]],
git_odb_exists: [ref.types.int32, [git_odbPtr, git_oidPtr]],
git_odb_refresh: [ref.types.int32, [voidPtr]],
git_odb_foreach: [ref.types.int32, [git_odbPtr, git_odb_foreach_cb, voidPtr]],
git_odb_write: [ref.types.int32, [git_oidPtr, git_odbPtr, voidPtr, ref.types.ulong, ref.types.int32]],
git_odb_open_wstream: [ref.types.int32, [voidPtr, git_odbPtr, ref.types.ulong, ref.types.int32]],
git_odb_open_rstream: [ref.types.int32, [voidPtr, git_odbPtr, git_oidPtr]],
git_odb_write_pack: [ref.types.int32, [voidPtr, git_odbPtr, git_transfer_progress_callback, voidPtr]],
git_odb_hash: [ref.types.int32, [git_oidPtr, voidPtr, ref.types.ulong, ref.types.int32]],
git_odb_hashfile: [ref.types.int32, [git_oidPtr, ref.types.CString, ref.types.int32]],
git_odb_object_free: [ref.types.void, [git_odb_object]],
git_odb_object_id: [git_oidPtr, [git_odb_objectPtr]],
git_odb_object_data: [voidPtr, [git_odb_objectPtr]],
git_odb_object_size: [ref.types.ulong, [git_odb_objectPtr]],
git_odb_object_type: [ref.types.int32, [git_odb_objectPtr]],
git_repository_open: [ref.types.int32, [voidPtr, ref.types.CString]],
git_repository_wrap_odb: [ref.types.int32, [voidPtr, git_odbPtr]],
git_repository_discover: [ref.types.int32, [ref.types.CString, ref.types.ulong, ref.types.CString, ref.types.int32, ref.types.CString]],
git_repository_open_ext: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.uint32, ref.types.CString]],
git_repository_free: [ref.types.void, [git_repository]],
git_repository_init: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.uint32]],
git_repository_init_ext: [ref.types.int32, [voidPtr, ref.types.CString, git_repository_init_optionsPtr]],
git_repository_head: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_repository_head_detached: [ref.types.int32, [git_repositoryPtr]],
git_repository_head_orphan: [ref.types.int32, [git_repositoryPtr]],
git_repository_is_empty: [ref.types.int32, [git_repositoryPtr]],
git_repository_path: [ref.types.CString, [git_repositoryPtr]],
git_repository_workdir: [ref.types.CString, [git_repositoryPtr]],
git_repository_set_workdir: [ref.types.int32, [git_repositoryPtr, ref.types.CString, ref.types.int32]],
git_repository_is_bare: [ref.types.int32, [git_repositoryPtr]],
git_repository_config: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_repository_set_config: [ref.types.void, [git_repositoryPtr, git_config]],
git_repository_odb: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_repository_set_odb: [ref.types.void, [git_repositoryPtr, git_odbPtr]],
git_repository_index: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_repository_set_index: [ref.types.void, [git_repositoryPtr, git_index]],
git_repository_message: [ref.types.int32, [ref.types.CString, ref.types.ulong, git_repositoryPtr]],
git_repository_message_remove: [ref.types.int32, [git_repositoryPtr]],
git_repository_merge_cleanup: [ref.types.int32, [git_repositoryPtr]],
git_repository_fetchhead_foreach: [ref.types.int32, [git_repositoryPtr, git_repository_fetchhead_foreach_cb, voidPtr]],
git_repository_mergehead_foreach: [ref.types.int32, [git_repositoryPtr, git_repository_mergehead_foreach_cb, voidPtr]],
git_repository_hashfile: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, ref.types.int32, ref.types.CString]],
git_repository_set_head: [ref.types.int32, [git_repositoryPtr, ref.types.CString]],
git_repository_set_head_detached: [ref.types.int32, [git_repositoryPtr, git_oidPtr]],
git_repository_detach_head: [ref.types.int32, [git_repositoryPtr]],
git_repository_state: [ref.types.int32, [git_repositoryPtr]],
git_revwalk_new: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_revwalk_reset: [ref.types.void, [git_revwalk]],
git_revwalk_push: [ref.types.int32, [git_revwalkPtr, git_oidPtr]],
git_revwalk_push_glob: [ref.types.int32, [git_revwalkPtr, ref.types.CString]],
git_revwalk_push_head: [ref.types.int32, [git_revwalkPtr]],
git_revwalk_hide: [ref.types.int32, [git_revwalkPtr, git_oidPtr]],
git_revwalk_hide_glob: [ref.types.int32, [git_revwalkPtr, ref.types.CString]],
git_revwalk_hide_head: [ref.types.int32, [git_revwalkPtr]],
git_revwalk_push_ref: [ref.types.int32, [git_revwalkPtr, ref.types.CString]],
git_revwalk_hide_ref: [ref.types.int32, [git_revwalkPtr, ref.types.CString]],
git_revwalk_next: [ref.types.int32, [git_oidPtr, git_revwalkPtr]],
git_revwalk_sorting: [ref.types.void, [git_revwalkPtr, ref.types.uint32]],
git_revwalk_free: [ref.types.void, [git_revwalkPtr]],
git_revwalk_repository: [git_repositoryPtr, [git_revwalkPtr]],
git_merge_base: [ref.types.int32, [git_oidPtr, git_repositoryPtr, git_oidPtr, git_oidPtr]],
git_merge_base_many: [ref.types.int32, [git_oidPtr, git_repositoryPtr, git_oidPtr, ref.types.ulong]],
git_graph_ahead_behind: [ref.types.int32, [size_tPtr, size_tPtr, git_repositoryPtr, git_oidPtr, git_oidPtr]],
git_strarray_free: [ref.types.void, [git_strarrayPtr]],
git_strarray_copy: [ref.types.int32, [git_strarrayPtr, git_strarrayPtr]],
git_reference_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_reference_name_to_id: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString]],
git_reference_symbolic_create: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, ref.types.CString, ref.types.int32]],
git_reference_create: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, git_oidPtr, ref.types.int32]],
git_reference_target: [git_oidPtr, [git_reference]],
git_reference_symbolic_target: [ref.types.CString, [git_referencePtr]],
git_reference_type: [ref.types.uint32, [git_referencePtr]],
git_reference_name: [ref.types.CString, [git_referencePtr]],
git_reference_resolve: [ref.types.int32, [voidPtr, git_referencePtr]],
git_reference_owner: [git_repositoryPtr, [git_referencePtr]],
git_reference_symbolic_set_target: [ref.types.int32, [git_referencePtr, ref.types.CString]],
git_reference_set_target: [ref.types.int32, [git_referencePtr, git_oidPtr]],
git_reference_rename: [ref.types.int32, [git_referencePtr, ref.types.CString, ref.types.int32]],
git_reference_delete: [ref.types.int32, [git_referencePtr]],
git_reference_packall: [ref.types.int32, [git_repositoryPtr]],
git_reference_list: [ref.types.int32, [git_strarrayPtr, git_repositoryPtr, ref.types.uint32]],
git_reference_foreach: [ref.types.int32, [git_repositoryPtr, ref.types.uint32, git_reference_foreach_cb, voidPtr]],
git_reference_is_packed: [ref.types.int32, [git_referencePtr]],
git_reference_reload: [ref.types.int32, [git_referencePtr]],
git_reference_free: [ref.types.void, [git_referencePtr]],
git_reference_cmp: [ref.types.int32, [git_referencePtr, git_referencePtr]],
git_reference_foreach_glob: [ref.types.int32, [git_repositoryPtr, ref.types.CString, ref.types.uint32, git_reference_foreach_cb, voidPtr]],
git_reference_has_log: [ref.types.int32, [git_referencePtr]],
git_reference_is_branch: [ref.types.int32, [git_referencePtr]],
git_reference_is_remote: [ref.types.int32, [git_referencePtr]],
git_reference_normalize_name: [ref.types.int32, [ref.types.CString, ref.types.ulong, ref.types.CString, ref.types.uint32]],
git_reference_peel: [ref.types.int32, [voidPtr, git_referencePtr, ref.types.int32]],
git_reference_is_valid_name: [ref.types.int32, [ref.types.CString]],
git_reflog_read: [ref.types.int32, [voidPtr, git_referencePtr]],
git_reflog_write: [ref.types.int32, [git_reflog]],
git_reflog_append: [ref.types.int32, [git_reflogPtr, git_oidPtr, git_signaturePtr, ref.types.CString]],
git_reflog_rename: [ref.types.int32, [git_referencePtr, ref.types.CString]],
git_reflog_delete: [ref.types.int32, [git_referencePtr]],
git_reflog_entrycount: [ref.types.ulong, [git_reflogPtr]],
git_reflog_entry_byindex: [git_reflog_entry, [git_reflogPtr, ref.types.ulong]],
git_reflog_drop: [ref.types.int32, [git_reflogPtr, ref.types.ulong, ref.types.int32]],
git_reflog_entry_id_old: [git_oidPtr, [git_reflog_entryPtr]],
git_reflog_entry_id_new: [git_oidPtr, [git_reflog_entryPtr]],
git_reflog_entry_committer: [git_signaturePtr, [git_reflog_entryPtr]],
git_reflog_entry_message: [ref.types.CString, [git_reflog_entryPtr]],
git_reflog_free: [ref.types.void, [git_reflogPtr]],
git_revparse_single: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_object_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr, ref.types.int32]],
git_object_lookup_prefix: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr, ref.types.ulong, ref.types.int32]],
git_object_id: [git_oidPtr, [git_object]],
git_object_type: [ref.types.int32, [git_objectPtr]],
git_object_owner: [git_repositoryPtr, [git_objectPtr]],
git_object_free: [ref.types.void, [git_objectPtr]],
git_object_type2string: [ref.types.CString, [ref.types.int32]],
git_object_string2type: [ref.types.int32, [ref.types.CString]],
git_object_typeisloose: [ref.types.int32, [ref.types.int32]],
git_object__size: [ref.types.ulong, [ref.types.int32]],
git_object_peel: [ref.types.int32, [voidPtr, git_objectPtr, ref.types.int32]],
git_blob_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr]],
git_blob_lookup_prefix: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr, ref.types.ulong]],
git_blob_free: [ref.types.void, [git_blob]],
git_blob_id: [git_oidPtr, [git_blobPtr]],
git_blob_rawcontent: [voidPtr, [git_blobPtr]],
git_blob_rawsize: [ref.types.longlong, [git_blobPtr]],
git_blob_create_fromworkdir: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString]],
git_blob_create_fromdisk: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString]],
git_blob_create_fromchunks: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, git_blob_chunk_cb, voidPtr]],
git_blob_create_frombuffer: [ref.types.int32, [git_oidPtr, git_repositoryPtr, voidPtr, ref.types.ulong]],
git_blob_is_binary: [ref.types.int32, [git_blobPtr]],
git_commit_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr]],
git_commit_lookup_prefix: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr, ref.types.ulong]],
git_commit_free: [ref.types.void, [git_commit]],
git_commit_id: [git_oidPtr, [git_commitPtr]],
git_commit_message_encoding: [ref.types.CString, [git_commitPtr]],
git_commit_message: [ref.types.CString, [git_commitPtr]],
git_commit_time: [ref.types.longlong, [git_commitPtr]],
git_commit_time_offset: [ref.types.int32, [git_commitPtr]],
git_commit_committer: [git_signaturePtr, [git_commitPtr]],
git_commit_author: [git_signaturePtr, [git_commitPtr]],
git_commit_tree: [ref.types.int32, [voidPtr, git_commitPtr]],
git_commit_tree_id: [git_oidPtr, [git_commitPtr]],
git_commit_parentcount: [ref.types.uint32, [git_commitPtr]],
git_commit_parent: [ref.types.int32, [voidPtr, git_commitPtr, ref.types.uint32]],
git_commit_parent_id: [git_oidPtr, [git_commitPtr, ref.types.uint32]],
git_commit_nth_gen_ancestor: [ref.types.int32, [voidPtr, git_commitPtr, ref.types.uint32]],
git_commit_create: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, git_signaturePtr, git_signaturePtr, ref.types.CString, ref.types.CString, git_tree, ref.types.int32, voidPtr]],
git_commit_create_v: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, git_signaturePtr, git_signaturePtr, ref.types.CString, ref.types.CString, git_treePtr, ref.types.int32]],
git_tag_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr]],
git_tag_lookup_prefix: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr, ref.types.ulong]],
git_tag_free: [ref.types.void, [git_tag]],
git_tag_id: [git_oidPtr, [git_tagPtr]],
git_tag_target: [ref.types.int32, [voidPtr, git_tagPtr]],
git_tag_target_id: [git_oidPtr, [git_tagPtr]],
git_tag_target_type: [ref.types.int32, [git_tagPtr]],
git_tag_name: [ref.types.CString, [git_tagPtr]],
git_tag_tagger: [git_signaturePtr, [git_tagPtr]],
git_tag_message: [ref.types.CString, [git_tagPtr]],
git_tag_create: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, git_objectPtr, git_signaturePtr, ref.types.CString, ref.types.int32]],
git_tag_create_frombuffer: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, ref.types.int32]],
git_tag_create_lightweight: [ref.types.int32, [git_oidPtr, git_repositoryPtr, ref.types.CString, git_objectPtr, ref.types.int32]],
git_tag_delete: [ref.types.int32, [git_repositoryPtr, ref.types.CString]],
git_tag_list: [ref.types.int32, [git_strarrayPtr, git_repositoryPtr]],
git_tag_list_match: [ref.types.int32, [git_strarrayPtr, ref.types.CString, git_repositoryPtr]],
git_tag_foreach: [ref.types.int32, [git_repositoryPtr, git_tag_foreach_cb, voidPtr]],
git_tag_peel: [ref.types.int32, [voidPtr, git_tagPtr]],
git_tree_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr]],
git_tree_lookup_prefix: [ref.types.int32, [voidPtr, git_repositoryPtr, git_oidPtr, ref.types.ulong]],
git_tree_free: [ref.types.void, [git_treePtr]],
git_tree_id: [git_oidPtr, [git_treePtr]],
git_tree_owner: [git_repositoryPtr, [git_treePtr]],
git_tree_entrycount: [ref.types.ulong, [git_treePtr]],
git_tree_entry_byname: [git_tree_entry, [git_treePtr, ref.types.CString]],
git_tree_entry_byindex: [git_tree_entryPtr, [git_treePtr, ref.types.ulong]],
git_tree_entry_byoid: [git_tree_entryPtr, [git_treePtr, git_oidPtr]],
git_tree_entry_bypath: [ref.types.int32, [voidPtr, git_treePtr, ref.types.CString]],
git_tree_entry_dup: [git_tree_entryPtr, [git_tree_entryPtr]],
git_tree_entry_free: [ref.types.void, [git_tree_entryPtr]],
git_tree_entry_name: [ref.types.CString, [git_tree_entryPtr]],
git_tree_entry_id: [git_oidPtr, [git_tree_entryPtr]],
git_tree_entry_type: [ref.types.int32, [git_tree_entryPtr]],
git_tree_entry_filemode: [ref.types.uint32, [git_tree_entryPtr]],
git_tree_entry_cmp: [ref.types.int32, [git_tree_entryPtr, git_tree_entryPtr]],
git_tree_entry_to_object: [ref.types.int32, [voidPtr, git_repositoryPtr, git_tree_entryPtr]],
git_treebuilder_create: [ref.types.int32, [voidPtr, git_treePtr]],
git_treebuilder_clear: [ref.types.void, [git_treebuilder]],
git_treebuilder_entrycount: [ref.types.uint32, [git_treebuilderPtr]],
git_treebuilder_free: [ref.types.void, [git_treebuilderPtr]],
git_treebuilder_get: [git_tree_entryPtr, [git_treebuilderPtr, ref.types.CString]],
git_treebuilder_insert: [ref.types.int32, [voidPtr, git_treebuilderPtr, ref.types.CString, git_oidPtr, ref.types.uint32]],
git_treebuilder_remove: [ref.types.int32, [git_treebuilderPtr, ref.types.CString]],
git_treebuilder_filter: [ref.types.void, [git_treebuilderPtr, git_treebuilder_filter_cb, voidPtr]],
git_treebuilder_write: [ref.types.int32, [git_oidPtr, git_repositoryPtr, git_treebuilderPtr]],
git_tree_walk: [ref.types.int32, [git_treePtr, ref.types.uint32, git_treewalk_cb, voidPtr]],
git_diff_list_free: [ref.types.void, [git_diff_list]],
git_diff_tree_to_tree: [ref.types.int32, [voidPtr, git_repositoryPtr, git_treePtr, git_treePtr, git_diff_optionsPtr]],
git_diff_tree_to_index: [ref.types.int32, [voidPtr, git_repositoryPtr, git_treePtr, git_indexPtr, git_diff_optionsPtr]],
git_diff_index_to_workdir: [ref.types.int32, [voidPtr, git_repositoryPtr, git_indexPtr, git_diff_optionsPtr]],
git_diff_tree_to_workdir: [ref.types.int32, [voidPtr, git_repositoryPtr, git_treePtr, git_diff_optionsPtr]],
git_diff_merge: [ref.types.int32, [git_diff_listPtr, git_diff_listPtr]],
git_diff_find_similar: [ref.types.int32, [git_diff_listPtr, git_diff_find_optionsPtr]],
git_diff_foreach: [ref.types.int32, [git_diff_listPtr, git_diff_file_cb, git_diff_hunk_cb, git_diff_data_cb, voidPtr]],
git_diff_print_compact: [ref.types.int32, [git_diff_listPtr, git_diff_data_cb, voidPtr]],
git_diff_status_char: [ref.types.char, [ref.types.uint32]],
git_diff_print_patch: [ref.types.int32, [git_diff_listPtr, git_diff_data_cb, voidPtr]],
git_diff_num_deltas: [ref.types.ulong, [git_diff_listPtr]],
git_diff_num_deltas_of_type: [ref.types.ulong, [git_diff_listPtr, ref.types.uint32]],
git_diff_get_patch: [ref.types.int32, [voidPtr, voidPtr, git_diff_listPtr, ref.types.ulong]],
git_diff_patch_free: [ref.types.void, [git_diff_patch]],
git_diff_patch_delta: [git_diff_deltaPtr, [git_diff_patchPtr]],
git_diff_patch_num_hunks: [ref.types.ulong, [git_diff_patchPtr]],
git_diff_patch_line_stats: [ref.types.int32, [size_tPtr, size_tPtr, size_tPtr, git_diff_patchPtr]],
git_diff_patch_get_hunk: [ref.types.int32, [voidPtr, voidPtr, size_tPtr, size_tPtr, git_diff_patchPtr, ref.types.ulong]],
git_diff_patch_num_lines_in_hunk: [ref.types.int32, [git_diff_patchPtr, ref.types.ulong]],
git_diff_patch_get_line_in_hunk: [ref.types.int32, [ref.types.CString, voidPtr, size_tPtr, voidPtr, voidPtr, git_diff_patchPtr, ref.types.ulong, ref.types.ulong]],
git_diff_patch_print: [ref.types.int32, [git_diff_patchPtr, git_diff_data_cb, voidPtr]],
git_diff_patch_to_str: [ref.types.int32, [voidPtr, git_diff_patchPtr]],
git_diff_blobs: [ref.types.int32, [git_blobPtr, git_blobPtr, git_diff_optionsPtr, git_diff_file_cb, git_diff_hunk_cb, git_diff_data_cb, voidPtr]],
git_diff_blob_to_buffer: [ref.types.int32, [git_blobPtr, ref.types.CString, ref.types.ulong, git_diff_optionsPtr, git_diff_file_cb, git_diff_hunk_cb, git_diff_data_cb, voidPtr]],
git_index_open: [ref.types.int32, [voidPtr, ref.types.CString]],
git_index_new: [ref.types.int32, [voidPtr]],
git_index_free: [ref.types.void, [git_indexPtr]],
git_index_owner: [git_repositoryPtr, [git_indexPtr]],
git_index_caps: [ref.types.uint32, [git_indexPtr]],
git_index_set_caps: [ref.types.int32, [git_indexPtr, ref.types.uint32]],
git_index_read: [ref.types.int32, [git_indexPtr]],
git_index_write: [ref.types.int32, [git_indexPtr]],
git_index_read_tree: [ref.types.int32, [git_indexPtr, git_treePtr]],
git_index_write_tree: [ref.types.int32, [git_oidPtr, git_indexPtr]],
git_index_write_tree_to: [ref.types.int32, [git_oidPtr, git_indexPtr, git_repositoryPtr]],
git_index_entrycount: [ref.types.ulong, [git_indexPtr]],
git_index_clear: [ref.types.void, [git_indexPtr]],
git_index_get_byindex: [git_index_entryPtr, [git_indexPtr, ref.types.ulong]],
git_index_get_bypath: [git_index_entryPtr, [git_indexPtr, ref.types.CString, ref.types.int32]],
git_index_remove: [ref.types.int32, [git_indexPtr, ref.types.CString, ref.types.int32]],
git_index_remove_directory: [ref.types.int32, [git_indexPtr, ref.types.CString, ref.types.int32]],
git_index_add: [ref.types.int32, [git_indexPtr, git_index_entryPtr]],
git_index_entry_stage: [ref.types.int32, [git_index_entryPtr]],
git_index_add_bypath: [ref.types.int32, [git_indexPtr, ref.types.CString]],
git_index_remove_bypath: [ref.types.int32, [git_indexPtr, ref.types.CString]],
git_index_find: [ref.types.int32, [size_tPtr, git_indexPtr, ref.types.CString]],
git_index_conflict_add: [ref.types.int32, [git_indexPtr, git_index_entryPtr, git_index_entryPtr, git_index_entryPtr]],
git_index_conflict_get: [ref.types.int32, [voidPtr, voidPtr, voidPtr, git_indexPtr, ref.types.CString]],
git_index_conflict_remove: [ref.types.int32, [git_indexPtr, ref.types.CString]],
git_index_conflict_cleanup: [ref.types.void, [git_indexPtr]],
git_index_has_conflicts: [ref.types.int32, [git_indexPtr]],
git_index_reuc_entrycount: [ref.types.uint32, [git_indexPtr]],
git_index_reuc_find: [ref.types.int32, [size_tPtr, git_indexPtr, ref.types.CString]],
git_index_reuc_get_bypath: [git_index_reuc_entryPtr, [git_indexPtr, ref.types.CString]],
git_index_reuc_get_byindex: [git_index_reuc_entryPtr, [git_indexPtr, ref.types.ulong]],
git_index_reuc_add: [ref.types.int32, [git_indexPtr, ref.types.CString, ref.types.int32, git_oidPtr, ref.types.int32, git_oidPtr, ref.types.int32, git_oidPtr]],
git_index_reuc_remove: [ref.types.int32, [git_indexPtr, ref.types.ulong]],
git_config_find_global: [ref.types.int32, [ref.types.CString, ref.types.ulong]],
git_config_find_xdg: [ref.types.int32, [ref.types.CString, ref.types.ulong]],
git_config_find_system: [ref.types.int32, [ref.types.CString, ref.types.ulong]],
git_config_open_default: [ref.types.int32, [voidPtr]],
git_config_new: [ref.types.int32, [voidPtr]],
git_config_add_backend: [ref.types.int32, [git_configPtr, git_config_backendPtr, ref.types.uint32, ref.types.int32]],
git_config_add_file_ondisk: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.uint32, ref.types.int32]],
git_config_open_ondisk: [ref.types.int32, [voidPtr, ref.types.CString]],
git_config_open_level: [ref.types.int32, [voidPtr, git_configPtr, ref.types.uint32]],
git_config_refresh: [ref.types.int32, [git_configPtr]],
git_config_free: [ref.types.void, [git_configPtr]],
git_config_get_entry: [ref.types.int32, [voidPtr, git_configPtr, ref.types.CString]],
git_config_get_int32: [ref.types.int32, [int32_t, git_configPtr, ref.types.CString]],
git_config_get_int64: [ref.types.int32, [int64_t, git_configPtr, ref.types.CString]],
git_config_get_bool: [ref.types.int32, [voidPtr, git_configPtr, ref.types.CString]],
git_config_get_string: [ref.types.int32, [voidPtr, git_configPtr, ref.types.CString]],
git_config_get_multivar: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.CString, git_config_foreach_cb, voidPtr]],
git_config_set_int32: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.int32]],
git_config_set_int64: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.longlong]],
git_config_set_bool: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.int32]],
git_config_set_string: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.CString]],
git_config_set_multivar: [ref.types.int32, [git_configPtr, ref.types.CString, ref.types.CString, ref.types.CString]],
git_config_delete_entry: [ref.types.int32, [git_configPtr, ref.types.CString]],
git_config_foreach: [ref.types.int32, [git_configPtr, git_config_foreach_cb, voidPtr]],
git_config_foreach_match: [ref.types.int32, [git_configPtr, ref.types.CString, git_config_foreach_cb, voidPtr]],
git_config_get_mapped: [ref.types.int32, [voidPtr, git_configPtr, ref.types.CString, git_cvar_mapPtr, ref.types.ulong]],
git_config_lookup_map_value: [ref.types.int32, [voidPtr, git_cvar_mapPtr, ref.types.ulong, ref.types.CString]],
git_config_parse_bool: [ref.types.int32, [voidPtr, ref.types.CString]],
git_config_parse_int32: [ref.types.int32, [int32_tPtr, ref.types.CString]],
git_config_parse_int64: [ref.types.int32, [int64_tPtr, ref.types.CString]],
git_cred_userpass_plaintext_new: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.CString]],
git_transport_new: [ref.types.int32, [voidPtr, git_remote, ref.types.CString]],
git_transport_valid_url: [ref.types.int32, [ref.types.CString]],
git_transport_dummy: [ref.types.int32, [voidPtr, git_remotePtr, voidPtr]],
git_transport_local: [ref.types.int32, [voidPtr, git_remotePtr, voidPtr]],
git_transport_smart: [ref.types.int32, [voidPtr, git_remotePtr, voidPtr]],
git_smart_subtransport_http: [ref.types.int32, [voidPtr, git_transportPtr]],
git_smart_subtransport_git: [ref.types.int32, [voidPtr, git_transportPtr]],
git_refspec_src: [ref.types.CString, [git_refspec]],
git_refspec_dst: [ref.types.CString, [git_refspecPtr]],
git_refspec_force: [ref.types.int32, [git_refspecPtr]],
git_refspec_src_matches: [ref.types.int32, [git_refspecPtr, ref.types.CString]],
git_refspec_transform: [ref.types.int32, [ref.types.CString, ref.types.ulong, git_refspecPtr, ref.types.CString]],
git_remote_create: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, ref.types.CString]],
git_remote_create_inmemory: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, ref.types.CString]],
git_remote_load: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_remote_save: [ref.types.int32, [git_remotePtr]],
git_remote_name: [ref.types.CString, [git_remotePtr]],
git_remote_url: [ref.types.CString, [git_remotePtr]],
git_remote_pushurl: [ref.types.CString, [git_remotePtr]],
git_remote_set_url: [ref.types.int32, [git_remotePtr, ref.types.CString]],
git_remote_set_pushurl: [ref.types.int32, [git_remotePtr, ref.types.CString]],
git_remote_set_fetchspec: [ref.types.int32, [git_remotePtr, ref.types.CString]],
git_remote_fetchspec: [git_refspecPtr, [git_remotePtr]],
git_remote_set_pushspec: [ref.types.int32, [git_remotePtr, ref.types.CString]],
git_remote_pushspec: [git_refspecPtr, [git_remotePtr]],
git_remote_connect: [ref.types.int32, [git_remotePtr, ref.types.uint32]],
git_remote_ls: [ref.types.int32, [git_remotePtr, git_headlist_cb, voidPtr]],
git_remote_download: [ref.types.int32, [git_remotePtr, git_transfer_progress_callback, voidPtr]],
git_remote_connected: [ref.types.int32, [git_remotePtr]],
git_remote_stop: [ref.types.void, [git_remotePtr]],
git_remote_disconnect: [ref.types.void, [git_remotePtr]],
git_remote_free: [ref.types.void, [git_remotePtr]],
git_remote_update_tips: [ref.types.int32, [git_remotePtr]],
git_remote_valid_url: [ref.types.int32, [ref.types.CString]],
git_remote_supported_url: [ref.types.int32, [ref.types.CString]],
git_remote_list: [ref.types.int32, [git_strarrayPtr, git_repositoryPtr]],
git_remote_check_cert: [ref.types.void, [git_remotePtr, ref.types.int32]],
git_remote_set_cred_acquire_cb: [ref.types.void, [git_remotePtr, git_cred_acquire_cb, voidPtr]],
git_remote_set_transport: [ref.types.int32, [git_remotePtr, git_transportPtr]],
git_remote_set_callbacks: [ref.types.int32, [git_remotePtr, git_remote_callbacksPtr]],
git_remote_stats: [git_transfer_progressPtr, [git_remotePtr]],
git_remote_autotag: [ref.types.uint32, [git_remotePtr]],
git_remote_set_autotag: [ref.types.void, [git_remotePtr, ref.types.uint32]],
git_remote_rename: [ref.types.int32, [git_remotePtr, ref.types.CString, git_remote_rename_problem_cb, voidPtr]],
git_remote_update_fetchhead: [ref.types.int32, [git_remotePtr]],
git_remote_set_update_fetchhead: [ref.types.void, [git_remotePtr, ref.types.int32]],
git_checkout_head: [ref.types.int32, [git_repositoryPtr, git_checkout_optsPtr]],
git_checkout_index: [ref.types.int32, [git_repositoryPtr, git_indexPtr, git_checkout_optsPtr]],
git_checkout_tree: [ref.types.int32, [git_repositoryPtr, git_objectPtr, git_checkout_optsPtr]],
git_clone: [ref.types.int32, [voidPtr, ref.types.CString, ref.types.CString, git_clone_optionsPtr]],
git_push_new: [ref.types.int32, [voidPtr, git_remotePtr]],
git_push_add_refspec: [ref.types.int32, [git_push, ref.types.CString]],
git_push_update_tips: [ref.types.int32, [git_pushPtr]],
git_push_finish: [ref.types.int32, [git_pushPtr]],
git_push_unpack_ok: [ref.types.int32, [git_pushPtr]],
git_push_status_foreach: [ref.types.int32, [git_pushPtr, voidPtr, voidPtr]],
git_push_free: [ref.types.void, [git_pushPtr]],
git_attr_value: [ref.types.uint32, [ref.types.CString]],
git_attr_get: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.uint32, ref.types.CString, ref.types.CString]],
git_attr_get_many: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.uint32, ref.types.CString, ref.types.ulong, voidPtr]],
git_attr_foreach: [ref.types.int32, [git_repositoryPtr, ref.types.uint32, ref.types.CString, git_attr_foreach_cb, voidPtr]],
git_attr_cache_flush: [ref.types.void, [git_repositoryPtr]],
git_attr_add_macro: [ref.types.int32, [git_repositoryPtr, ref.types.CString, ref.types.CString]],
git_ignore_add_rule: [ref.types.int32, [git_repositoryPtr, ref.types.CString]],
git_ignore_clear_internal_rules: [ref.types.int32, [git_repositoryPtr]],
git_ignore_path_is_ignored: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_branch_create: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, git_commitPtr, ref.types.int32]],
git_branch_delete: [ref.types.int32, [git_referencePtr]],
git_branch_foreach: [ref.types.int32, [git_repositoryPtr, ref.types.uint32, voidPtr, voidPtr]],
git_branch_move: [ref.types.int32, [git_referencePtr, ref.types.CString, ref.types.int32]],
git_branch_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, ref.types.uint32]],
git_branch_name: [ref.types.int32, [voidPtr, git_referencePtr]],
git_branch_tracking: [ref.types.int32, [voidPtr, git_referencePtr]],
git_branch_tracking_name: [ref.types.int32, [ref.types.CString, ref.types.ulong, git_repositoryPtr, ref.types.CString]],
git_branch_is_head: [ref.types.int32, [git_referencePtr]],
git_status_foreach: [ref.types.int32, [git_repositoryPtr, git_status_cb, voidPtr]],
git_status_foreach_ext: [ref.types.int32, [git_repositoryPtr, git_status_optionsPtr, git_status_cb, voidPtr]],
git_status_file: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_status_should_ignore: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_submodule_lookup: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString]],
git_submodule_foreach: [ref.types.int32, [git_repositoryPtr, voidPtr, voidPtr]],
git_submodule_add_setup: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, ref.types.CString, ref.types.int32]],
git_submodule_add_finalize: [ref.types.int32, [git_submodule]],
git_submodule_add_to_index: [ref.types.int32, [git_submodulePtr, ref.types.int32]],
git_submodule_save: [ref.types.int32, [git_submodulePtr]],
git_submodule_owner: [git_repositoryPtr, [git_submodulePtr]],
git_submodule_name: [ref.types.CString, [git_submodulePtr]],
git_submodule_path: [ref.types.CString, [git_submodulePtr]],
git_submodule_url: [ref.types.CString, [git_submodulePtr]],
git_submodule_set_url: [ref.types.int32, [git_submodulePtr, ref.types.CString]],
git_submodule_index_id: [git_oidPtr, [git_submodulePtr]],
git_submodule_head_id: [git_oidPtr, [git_submodulePtr]],
git_submodule_wd_id: [git_oidPtr, [git_submodulePtr]],
git_submodule_ignore: [ref.types.int32, [git_submodulePtr]],
git_submodule_set_ignore: [ref.types.int32, [git_submodulePtr, ref.types.int32]],
git_submodule_update: [ref.types.int32, [git_submodulePtr]],
git_submodule_set_update: [ref.types.int32, [git_submodulePtr, ref.types.int32]],
git_submodule_fetch_recurse_submodules: [ref.types.int32, [git_submodulePtr]],
git_submodule_set_fetch_recurse_submodules: [ref.types.int32, [git_submodulePtr, ref.types.int32]],
git_submodule_init: [ref.types.int32, [git_submodulePtr, ref.types.int32]],
git_submodule_sync: [ref.types.int32, [git_submodulePtr]],
git_submodule_open: [ref.types.int32, [voidPtr, git_submodulePtr]],
git_submodule_reload: [ref.types.int32, [git_submodulePtr]],
git_submodule_reload_all: [ref.types.int32, [git_repositoryPtr]],
git_submodule_status: [ref.types.int32, [voidPtr, git_submodulePtr]],
git_submodule_location: [ref.types.int32, [voidPtr, git_submodulePtr]],
git_note_read: [ref.types.int32, [voidPtr, git_repositoryPtr, ref.types.CString, git_oidPtr]],
git_note_message: [ref.types.CString, [git_note]],
git_note_oid: [git_oidPtr, [git_notePtr]],
git_note_create: [ref.types.int32, [git_oidPtr, git_repositoryPtr, git_signaturePtr, git_signaturePtr, ref.types.CString, git_oidPtr, ref.types.CString, ref.types.int32]],
git_note_remove: [ref.types.int32, [git_repositoryPtr, ref.types.CString, git_signaturePtr, git_signaturePtr, git_oidPtr]],
git_note_free: [ref.types.void, [git_notePtr]],
git_note_default_ref: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_note_foreach: [ref.types.int32, [git_repositoryPtr, ref.types.CString, git_note_foreach_cb, voidPtr]],
git_reset: [ref.types.int32, [git_repositoryPtr, git_objectPtr, ref.types.uint32]],
git_message_prettify: [ref.types.int32, [ref.types.CString, ref.types.ulong, ref.types.CString, ref.types.int32]],
git_packbuilder_new: [ref.types.int32, [voidPtr, git_repositoryPtr]],
git_packbuilder_set_threads: [ref.types.uint32, [git_packbuilder, ref.types.uint32]],
git_packbuilder_insert: [ref.types.int32, [git_packbuilderPtr, git_oidPtr, ref.types.CString]],
git_packbuilder_insert_tree: [ref.types.int32, [git_packbuilderPtr, git_oidPtr]],
git_packbuilder_write: [ref.types.int32, [git_packbuilderPtr, ref.types.CString]],
git_packbuilder_foreach: [ref.types.int32, [git_packbuilderPtr, git_packbuilder_foreach_cb, voidPtr]],
git_packbuilder_object_count: [ref.types.uint32, [git_packbuilderPtr]],
git_packbuilder_written: [ref.types.uint32, [git_packbuilderPtr]],
git_packbuilder_free: [ref.types.void, [git_packbuilderPtr]],
git_stash_save: [ref.types.int32, [git_oidPtr, git_repositoryPtr, git_signaturePtr, ref.types.CString, ref.types.uint32]],
git_stash_foreach: [ref.types.int32, [git_repositoryPtr, git_stash_cb, voidPtr]],
git_stash_drop: [ref.types.int32, [git_repositoryPtr, ref.types.ulong]],
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment