Man page - mdex_add(3)
Packages contains this manual
- lc_ctx_set_sym_key(3)
- lc_socketpair(3)
- lc_channel_setkey(3)
- mdex_get(3)
- lc_ctx_ifx(3)
- lc_ctx_set_pub_key(3)
- q_search(3)
- lc_mmapfile(3)
- lc_tuntap_create(3)
- lc_channel_rq(3)
- lc_recvchunk(3)
- q_push(3)
- lc_unshare(3)
- q_wait(3)
- lc_ctx_getkey(3)
- lc_ctx_new(3)
- lc_share(3)
- mdex_put(3)
- mtree_diff_map(3)
- lc_channel_detect_gaps(3)
- lc_socket_close(3)
- lc_sendchunk(3)
- mtree_subtree_data_max(3)
- lc_memsync(3)
- q_job_seek(3)
- lc_syncfile(3)
- lc_socket_new(3)
- lc_sync(3)
- lc_channel_nack_handler_thr(3)
- lc_channel_set_pub_key(3)
- mdex_del(3)
- mdex_getalias(3)
- mdex_addfile(3)
- lc_sendtree(3)
- lc_send(3)
- mtree_parent(3)
- mtree_nnode(3)
- mtree_build(3)
- lc_channel_sendmsg(3)
- q_free(3)
- lc_syncfilelocal(3)
- lc_channel_ratelimit(3)
- lc_channel_check_seqno(3)
- q_pool_create(3)
- mtree_child(3)
- q_pool_destroy(3)
- lc_recvtree(3)
- lc_channel_nack_add_log(3)
- mdex_alias(3)
- lc_ctx_coding_set(3)
- mdex_tree_hash(3)
- lc_ctx_free(3)
- lc_channel_send(3)
- mtree_free(3)
- mdex_init(3)
- mtree_diff_subtree(3)
- mdex_free(3)
- lc_ctx_setkey(3)
- lc_hashtoaddr(3)
- q_init(3)
- lc_channel_coding_set(3)
- lc_channel_nack_handler(3)
- lc_recv(3)
- lc_channel_set_sym_key(3)
- lc_ctx_ratelimit(3)
- mtree_init(3)
- mdex_basedir(3)
- lc_channel_oti_peek(3)
- mdex_add(3)
- mtree_subtree_data_min(3)
- mtree_verify(3)
- lc_channel_getkey(3)
apt-get install liblibrecast-dev
Manual
MDEX_ADD
NAMELIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
SEE ALSO
NAME
mdex_add, mdex_addfile, mdex_alias - index data, files and directories
LIBRARY
Librecast library ( liblibrecast , -llibrecast )
SYNOPSIS
#include <librecast/mdex.h>
int
mdex_add(mdex_t
*mdex
, void
*data
, size_t
len
, q_t
*q
, int
flags
);
int mdex_addfile(mdex_t
*mdex
, const char
*path
, q_t
*q
, int
flags
);
int mdex_alias(mdex_t
*mdex
, unsigned char
*alias
, size_t
aliaslen
,
unsigned char
*hash
, size_t
hashlen
);
Compile and link with -llibrecast .
DESCRIPTION
The mdex_add function builds a merkle tree from data with length len and adds entries for both the tree and chunks to mdex .
The mdex_addfile function builds a merkle tree from the file or directory at path and adds entries for the trees and chunks to mdex .
The mdex_alias function adds an entry alias of length aliaslen which points to the entry hash of length hashlen which must already exist in mdex .
If q is not NULL, it must point to a queue q_t structure previously initialized with q_init (3). This will be passed through to mtree_build (3) to build the merkle tree. This is normally used in conjunction with a threadpool created with q_pool_create (3) with threads all calling q_job_seek (3).
The
flags
argument is the bitwise OR of zero of more of the following
flags:
MDEX_ALIAS
Entry is a pointer to another entry.
MDEX_RAND Entry should be sent using random symbols.
MDEX_RECURSE Recursively index all files and directories below path . (mdex_addfile)
MDEX_MOUNT
If set, stay within the same filesystem (i.e., do not cross
mount points).
MDEX_SYMLINK
Follow symbolic links when recursively indexing.
RETURN VALUE
These function return zero on success. On error, -1 is returned, and errno is set to indicate the error.
ERRORS
|
EINVAL |
Invalid argument. Both mdex and hash are required (not NULL), and hashlen > 0. |
ENOMEM Not enough space/cannot allocate memory (POSIX.1-2001).
SEE ALSO
mdex_init (3), mdex_free (3), mdex_get (3), mdex_put (3), mdex_del (3), mtree_build (3), q_init (3), q_pool_create (3), q_job_seek (3) lc_share (3)