19 #ifndef MCA_BTL_SCTP_FRAG_H
20 #define MCA_BTL_SCTP_FRAG_H
23 #define MCA_BTL_SCTP_FRAG_ALIGN (8)
24 #include "ompi_config.h"
26 #ifdef HAVE_SYS_TYPES_H
27 #include <sys/types.h>
34 #include "btl_sctp_hdr.h"
38 #define MCA_BTL_SCTP_FRAG_IOVEC_NUMBER 4
49 struct iovec iov[MCA_BTL_SCTP_FRAG_IOVEC_NUMBER + 1];
50 struct iovec *iov_ptr;
78 #define MCA_BTL_SCTP_FRAG_ALLOC_EAGER(frag, rc) \
81 ompi_free_list_item_t *item; \
82 OMPI_FREE_LIST_GET(&mca_btl_sctp_component.sctp_frag_eager, item, rc); \
83 frag = (mca_btl_sctp_frag_t*) item; \
86 #define MCA_BTL_SCTP_FRAG_ALLOC_MAX(frag, rc) \
89 ompi_free_list_item_t *item; \
90 OMPI_FREE_LIST_GET(&mca_btl_sctp_component.sctp_frag_max, item, rc); \
91 frag = (mca_btl_sctp_frag_t*) item; \
94 #define MCA_BTL_SCTP_FRAG_ALLOC_USER(frag, rc) \
96 ompi_free_list_item_t *item; \
97 OMPI_FREE_LIST_GET(&mca_btl_sctp_component.sctp_frag_user, item, rc); \
98 frag = (mca_btl_sctp_frag_t*) item; \
101 #define MCA_BTL_SCTP_FRAG_RETURN(frag) \
103 OMPI_FREE_LIST_RETURN(frag->my_list, (ompi_free_list_item_t*)(frag)); \
106 #define MCA_BTL_SCTP_FRAG_INIT_DST(frag,ep) \
109 frag->btl = ep->endpoint_btl; \
110 frag->endpoint = ep; \
111 frag->iov[0].iov_len = sizeof(frag->hdr); \
112 frag->iov[0].iov_base = (IOVBASE_TYPE*)&frag->hdr; \
115 frag->iov_ptr = frag->iov; \
116 frag->base.des_src = NULL; \
117 frag->base.des_dst_cnt = 0; \
118 frag->base.des_dst = frag->segments; \
119 frag->base.des_dst_cnt = 1; \
123 #define MCA_BTL_SCTP_MAX_FRAG_SIZE 65536
124 bool mca_btl_sctp_frag_large_send(
mca_btl_sctp_frag_t*,
int sd,
int iov_fragment,
int *amt_sent);
A descriptor that holds the parameters to a send/put/get operation along w/ a callback routine that i...
Definition: btl.h:275
SCTP fragment derived type.
Definition: btl_sctp_frag.h:43
Definition: btl_sctp_hdr.h:39
Definition: ompi_free_list.h:39
Definition: ompi_uio.h:29
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
BTL Module Interface.
Definition: btl_sctp.h:103
Describes a region/segment of memory that is addressable by an BTL.
Definition: btl.h:236
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236