27#include <Padico/Puk.h>
39#define NM_GATE_NONE ((nm_gate_t)NULL)
41#define NM_ANY_GATE NM_GATE_NONE
51 &puk_hash_pointer_default_hash, &puk_hash_pointer_default_eq, NULL);
58#define NM_TAG_MAX UINT64_MAX
61#define NM_TAG_MASK_FULL ((nm_tag_t)-1)
63#define NM_TAG_MASK_NONE ((nm_tag_t)0)
71#define NM_LEN_UNDEFINED ((nm_len_t)-1)
73#define NM_LEN_MAX ((nm_len_t)-2)
81#define NM_PRIORITY_MIN INT_MIN
84#define NM_PRIORITY_MAX INT_MAX
111#define NM_SEQ_NONE ((nm_seq_t)0)
114#define NM_SEQ_MAX ((nm_seq_t)-1)
120#define NM_UUID_SIZE 32
130#define NM_UUID_BINARY_SIZE 16
struct nm_gate_s * nm_gate_t
a gate; opaque type to designate a peer node
int8_t nm_trk_id_t
ID of a track, assigned in order.
@ nm_trk_kind_small
small packets with headers & parsing
@ nm_trk_kind_large
large packets with rdv, no header
void nm_gate_ref_set(nm_gate_t p_gate, void *ref)
Set the user-registered per-gate data.
uint64_t nm_req_seq_t
sequence number for requests
int32_t nm_prio_t
message priority
void * nm_gate_ref_get(nm_gate_t p_gate)
Get the user-registered per-gate data.
uint64_t nm_tag_t
user tags, 64 bits, contained in indirect hashtable
#define NM_UUID_SIZE
128 bits uuid, as 32 hexadecimal numbers
PUK_HASHTABLE_TYPE(nm_gate_reverse, nm_gate_t, int, &puk_hash_pointer_default_hash, &puk_hash_pointer_default_eq, NULL)
hash ranks by gate
uint64_t nm_len_t
data length used by nmad
uint32_t nm_seq_t
Sequence number for packets on a given gate/tag.
uint8_t nm_proto_t
protocol flags- not part of the public API, but needed for inline
#define NM_UUID_BINARY_SIZE
128 bits UUID as 16 binary bytes
enum nm_trk_kind_e nm_trk_kind_t
Connection to another process.
uuid in plain text (hex encoding)