28 const int v0len = p_pw->
v[0].iov_len;
30 assert(
v0len <= UINT16_MAX);
42#define NM_PROTO_ID_MASK 0x0F
44#define NM_PROTO_FLAG_MASK 0xF0
47#define NM_PROTO_SMALL_DATA 0x01
49#define NM_PROTO_SHORT_DATA 0x02
51#define NM_PROTO_PKT_DATA 0x03
53#define NM_PROTO_RDV 0x04
55#define NM_PROTO_RTR 0x05
57#define NM_PROTO_ACK 0x06
59#define NM_PROTO_STRAT 0x07
61#define NM_PROTO_MSG 0x08
63#define NM_PROTO_DEBUG 0x0F
66#define NM_PROTO_FLAG_LASTCHUNK 0x10
68#define NM_PROTO_FLAG_ALIGNED 0x20
70#define NM_PROTO_FLAG_ACKREQ 0x40
220#define NM_HEADER_PKT_DATA_SIZE \
221 sizeof(struct nm_header_pkt_data_s)
223#define NM_HEADER_DATA_SIZE \
224 nm_aligned(sizeof(struct nm_header_data_s))
226#define NM_HEADER_SHORT_DATA_SIZE \
227 nm_aligned(sizeof(struct nm_header_short_data_s))
229#define NM_HEADER_CTRL_SIZE(P_CTRL) \
230 nm_header_ctrl_size(P_CTRL)
312 const void*p_rdv_data)
320 if(p_rdv_data != NULL)
#define NM_REQ_FLAG_PACK_SYNCHRONOUS
flag pack as synchronous (i.e.
without even the implied warranty of !MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU !General Public License for more details !mpif h
nm_tag_t tag
the user-supplied tag
#define NM_FATAL(format,...)
#define NM_HEADER_RTR_DATA_SIZE
size of rdv data packet with RTR, in bytes
#define NM_PW_GLOBAL_HEADER
pw allocated with a contiguous buffer and a global header has been prepared.
#define NM_PW_BUF_SEND
use buffer-based driver for send
#define NM_PW_BUFFER
pw allocated with NM_MAX_UNEXPECTED contiguous buffer.
int8_t nm_trk_id_t
ID of a track, assigned in order.
int32_t nm_prio_t
message priority
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
nm_header_ctrl_generic_t ctrl
PUK_LIST_LINK(nm_ctrl_chunk)
Connection to another process.
struct iovec * v
IO vector.
nm_trk_id_t trk_id
assignated track ID.
nm_pw_flag_t flags
packet flags.
a generic pack/unpack request
nm_core_tag_t tag
tag to send to/from (works in combination with tag_mask for recv)
nm_prio_t priority
request priority level
nm_req_flag_t flags
flags given by user
struct nm_req_s::@18::@20 pack
nm_len_t len
cumulated data length
nm_seq_t seq
packet sequence number on the given tag