Go to the source code of this file.
Classes | |
| struct | gi_hash_handler |
| struct | GiHash |
Enumerations | |
| enum | gi_hash_opts { GI_HASH_PRIMARY = 0x01, GI_HASH_SECONDARY = 0x02, GI_HASH_LOCAL = 0x04 } |
Functions | |
| EXTERN_C_BEGIN LIBGIFTPROTO_EXPORT GiHash * | gi_hash_new (const char *type, unsigned char *data, size_t len) |
| LIBGIFTPROTO_EXPORT void | gi_hash_free (GiHash *hash) |
| LIBGIFTPROTO_EXPORT GiHash * | gi_hash_dup (GiHash *hash) |
| LIBGIFTPROTO_EXPORT bool | gi_share_set_hash (struct gi_file_share *file, const char *type, unsigned char *data, size_t len) |
| LIBGIFTPROTO_EXPORT GiHash * | gi_share_get_hash (struct gi_file_share *file, const char *type) |
| LIBGIFTPROTO_EXPORT void | gi_share_clear_hash (struct gi_file_share *file) |
| LIBGIFTPROTO_EXPORT void | gi_share_foreach_hash (struct gi_file_share *file, GiDatasetForeachFn func, void *udata) |
| LIBGIFTPROTO_EXPORT char * | gi_hashstr_algo (const char *hashstr) |
| LIBGIFTPROTO_EXPORT char * | gi_hashstr_data (const char *hashstr) |
There are really multiple interfaces defined here. The supplementary share interface should be moved into share.[ch] at some time.
|
|
|
|
|
Duplicate all entries in a hash object. This includes the original data argument. |
|
|
Destroy the result from ::hash_new. Please note that this will free the original data argument. |
|
||||||||||||||||
|
Raw interface to allocate a new hash object. Please avoid using this directly at all costs.
|
|
|
Given a giFT-specific hash string return a static reference to ALGOTYPE. The protocol has no awareness of this hack, and it is only used to serialize hashes over the interface protocol.
|
|
|
Access the data portion of the hash string. See ::hashstr_algo.
|
|
|
Clear all hashes associated with the given file. Management of the internal hash memory is dependent on the parameters given to ::share_set_hash. |
|
||||||||||||||||
|
Iterate through all hashes currently associated with this file. Internally uses ::gi_dataset_foreach. |
|
||||||||||||
|
Access the previously set hash. See ::share_hash_set. |
|
||||||||||||||||||||
|
Associate a predetermined hashed value with a share object.
|
1.3.7