41#define DBLOCK_SIZE (32 * 1024)
48#define HASHING_BLOCKSIZE (1024 * 128)
249#define SEARCH_MESSAGE_OPTION_NONE 0
254#define SEARCH_MESSAGE_OPTION_LOOPBACK_ONLY 1
262#define SEARCH_MESSAGE_OPTION_CONTINUED 2
FS block formats (shared between FS and Block)
Library for data block manipulation.
API for file sharing via GNUnet.
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
Response from FS service with a result for a previous FS search.
uint32_t respect_offered
How much respect did we offer (in total) before getting an answer (estimate).
uint32_t type
Type of the block (in big endian).
struct GNUNET_TIME_AbsoluteNBO expiration
When does this result expire?
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_PUT.
struct GNUNET_TIME_AbsoluteNBO last_transmission
When was the last time we've tried to download this block? (FOREVER if unknown/not relevant)
uint32_t num_transmissions
How often did we transmit this query before getting an answer (estimate).
struct GNUNET_HashCode key
Hash of the original content, used for encryption.
struct GNUNET_HashCode query
Hash of the encrypted content, used for querying.
an ECC signature using EdDSA.
The identity of the host (wraps the signing key of the peer).
Time for absolute time used by GNUnet, in microseconds and in network byte order.
Message send by FS service in response to a request asking for a list of all indexed files.
struct GNUNET_HashCode file_id
Hash of the indexed file.
uint32_t reserved
Always zero.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_ENTRY.
Message sent from a GNUnet (fs) publishing activity to the gnunet-fs-service to initiate indexing of ...
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_INDEX_START.
uint64_t inode
Inode of the file on the given device, as seen by the client ("st_ino" field from "struct stat").
struct GNUNET_HashCode file_id
Hash of the file that we would like to index.
uint32_t reserved
For alignment.
uint64_t device
ID of device containing the file, as seen by the client.
Response from FS service with a result for a previous FS search.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_PUT.
uint32_t type
Type of the block (in big endian).
struct GNUNET_TIME_AbsoluteNBO expiration
When does this result expire?
Message sent from a GNUnet (fs) publishing activity to sign a LOC URI.
uint64_t file_length
Size of the shared file (to be signed).
uint32_t purpose
Requested signature purpose.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGN.
struct GNUNET_TIME_AbsoluteNBO expiration_time
Requested expiration time.
struct ContentHashKey chk
Information about the shared file (to be signed).
Message sent from the service with the signed LOC URI.
struct GNUNET_CRYPTO_EddsaSignature signature
The requested signature.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGNATURE.
struct GNUNET_PeerIdentity peer
Identity of the peer sharing the file.
uint32_t purpose
Purpose of the generated signature.
struct GNUNET_TIME_AbsoluteNBO expiration_time
Expiration time that was actually used (rounded!).
Message sent from a GNUnet (fs) search activity to the gnunet-service-fs to start a search.
struct GNUNET_PeerIdentity target
If the request is for a DBLOCK or IBLOCK, this is the identity of the peer that is known to have a re...
uint32_t type
Type of the content that we're looking for.
struct GNUNET_HashCode query
Hash of the public key for UBLOCKs; Hash of the CHK-encoded block for DBLOCKS and IBLOCKS.
uint32_t anonymity_level
Desired anonymity level, big-endian.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_START_SEARCH.
uint32_t options
Bitmask with options.
Message sent from a GNUnet (fs) unindexing activity to the gnunet-service-fs to indicate that a file ...
struct GNUNET_HashCode file_id
Hash of the file that we will unindex.
uint32_t reserved
Always zero.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_UNINDEX.