/** * enum rtrs_clt_link_ev - Events about connectivity state of a client * @RTRS_CLT_LINK_EV_RECONNECTED Client was reconnected. * @RTRS_CLT_LINK_EV_DISCONNECTED Client was disconnected.
*/ enum rtrs_clt_link_ev {
RTRS_CLT_LINK_EV_RECONNECTED,
RTRS_CLT_LINK_EV_DISCONNECTED,
};
/** * Source and destination address of a path to be established
*/ struct rtrs_addr { struct sockaddr_storage *src; struct sockaddr_storage *dst;
};
/** * rtrs_clt_ops - it holds the link event callback and private pointer. * @priv: User supplied private data. * @link_ev: Event notification callback function for connection state changes * @priv: User supplied data that was passed to rtrs_clt_open() * @ev: Occurred event
*/ struct rtrs_clt_ops { void *priv; void (*link_ev)(void *priv, enum rtrs_clt_link_ev ev);
};
/** * enum rtrs_clt_con_type() type of ib connection to use with a given * rtrs_permit * @ADMIN_CON - use connection reserved for "service" messages * @IO_CON - use a connection reserved for IO
*/ enum rtrs_clt_con_type {
RTRS_ADMIN_CON,
RTRS_IO_CON
};
/** * rtrs_clt_req_ops - it holds the request confirmation callback * and a private pointer. * @priv: User supplied private data. * @conf_fn: callback function to be called as confirmation * @priv: User provided data, passed back with corresponding * @(conf) confirmation. * @errno: error number.
*/ struct rtrs_clt_req_ops { void *priv; void (*conf_fn)(void *priv, int errno);
};
int rtrs_clt_query(struct rtrs_clt_sess *sess, struct rtrs_attrs *attr);
/* * Here goes RTRS server API
*/
/** * enum rtrs_srv_link_ev - Server link events * @RTRS_SRV_LINK_EV_CONNECTED: Connection from client established * @RTRS_SRV_LINK_EV_DISCONNECTED: Connection was disconnected, all * connection RTRS resources were freed.
*/ enum rtrs_srv_link_ev {
RTRS_SRV_LINK_EV_CONNECTED,
RTRS_SRV_LINK_EV_DISCONNECTED,
};
struct rtrs_srv_ops { /** * rdma_ev(): Event notification for RDMA operations * If the callback returns a value != 0, an error * message for the data transfer will be sent to * the client.
* @priv: Private data set by rtrs_srv_set_sess_priv() * @id: internal RTRS operation id * @data: Pointer to (bidirectional) rdma memory area: * - in case of %RTRS_SRV_RDMA_EV_RECV contains * data sent by the client * - in case of %RTRS_SRV_RDMA_EV_WRITE_REQ points * to the memory area where the response is to be * written to * @datalen: Size of the memory area in @data * @usr: The extra user message sent by the client (%vec) * @usrlen: Size of the user message
*/ int (*rdma_ev)(void *priv, struct rtrs_srv_op *id, void *data, size_t datalen, constvoid *usr,
size_t usrlen); /** * link_ev(): Events about connectivity state changes * If the callback returns != 0 and the event * %RTRS_SRV_LINK_EV_CONNECTED the corresponding * session will be destroyed. * @sess: Session * @ev: event * @priv: Private data from user if previously set with * rtrs_srv_set_sess_priv()
*/ int (*link_ev)(struct rtrs_srv_sess *sess, enum rtrs_srv_link_ev ev, void *priv);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.