Allocate data for an ODB object. Custom ODB backends may use this to provide data back to the ODB from their read function. This memory should not be freed once it is returned to libgit2. If a custom ODB uses this function but encounters an error and does not return this data to libgit2, then they should use the corresponding git_odb_backend_data_free function.
Frees custom allocated ODB data. This should only be called when memory allocated using git_odb_backend_data_alloc is not returned to libgit2 because the backend encountered an error in the read function after allocation and did not return this data to libgit2.
Allocate memory for an ODB object from a custom backend. This is an alias of git_odb_backend_data_alloc and is preserved for backward compatibility.
Initializes a git_odb_backend with default values. Equivalent to creating an instance with GIT_ODB_BACKEND_INIT.
An instance for a custom backend