X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcommon%2Finclude%2Frmr.h;h=4e662efa8dd33766b5412458fa26a51d7ae72aef;hb=c1aee2b63a523a461e96a8d358c73dd8a9e9e6a2;hp=2f58eaf1646718164f626980a94f578e949edbbd;hpb=fd9cc7a5b3355146388ebdf4d558cb284c66c5f1;p=ric-plt%2Flib%2Frmr.git diff --git a/src/common/include/rmr.h b/src/common/include/rmr.h index 2f58eaf..4e662ef 100644 --- a/src/common/include/rmr.h +++ b/src/common/include/rmr.h @@ -38,7 +38,7 @@ extern "C" { #define RMR_MAX_XID 32 // space in header reserved for user xaction id #define RMR_MAX_SID 32 // spece in header reserved for sender id #define RMR_MAX_MEID 32 // spece in header reserved for managed element id -#define RMR_MAX_SRC 16 // max length of hostname +#define RMR_MAX_SRC 64 // max length of hostname (which could be IPv6 addr with [...]:port so more than the 39 bytes of a plain addr #define RMR_MAX_RCV_BYTES 4096 // max bytes we support in a receive message // various flags for function calls @@ -63,6 +63,7 @@ extern "C" { #define RMR_ERR_TIMEOUT 12 // message processing call timed out #define RMR_ERR_UNSET 13 // the message hasn't been populated with a transport buffer #define RMR_ERR_TRUNC 14 // received message likely truncated +#define RMR_ERR_INITFAILED 15 // initialisation of something (probably message) failed #define RMR_WH_CONNECTED(a) (a>=0) // for now whid is integer; it could be pointer at some future date @@ -73,11 +74,12 @@ extern "C" { into or out of their environment they dup it all, not just what we choose to expose.) */ typedef struct { - int state; // state of processing + int state; // state of processing int mtype; // message type int len; // length of data in the payload (send or received) unsigned char* payload; // transported data unsigned char* xaction; // pointer to fixed length transaction id bytes + int sub_id; // subscription id // these things are off limits to the user application void* tp_buf; // underlying transport allocated pointer (e.g. nng message) @@ -96,6 +98,7 @@ extern rmr_mbuf_t* rmr_alloc_msg( void* vctx, int size ); extern rmr_mbuf_t* rmr_call( void* vctx, rmr_mbuf_t* msg ); extern void rmr_close( void* vctx ); extern void* rmr_init( char* proto_port, int max_msg_size, int flags ); +extern int rmr_init_trace( void* vctx, int size ); extern int rmr_payload_size( rmr_mbuf_t* msg ); extern rmr_mbuf_t* rmr_send_msg( void* vctx, rmr_mbuf_t* msg ); extern rmr_mbuf_t* rmr_mtosend_msg( void* vctx, rmr_mbuf_t* msg, int max_to ); @@ -107,6 +110,7 @@ extern int rmr_set_rtimeout( void* vctx, int time ); extern int rmr_set_stimeout( void* vctx, int time ); extern int rmr_get_rcvfd( void* vctx ); // only supported with nng extern rmr_mbuf_t* rmr_torcv_msg( void* vctx, rmr_mbuf_t* old_msg, int ms_to ); +extern rmr_mbuf_t* rmr_tralloc_msg( void* context, int msize, int trsize, unsigned const char* data ); extern rmr_whid_t rmr_wh_open( void* vctx, char const* target ); extern rmr_mbuf_t* rmr_wh_send_msg( void* vctx, rmr_whid_t whid, rmr_mbuf_t* msg ); extern void rmr_wh_close( void* vctx, int whid ); @@ -118,11 +122,16 @@ extern void rmr_bytes2payload( rmr_mbuf_t* mbuf, unsigned char const* src, int l extern int rmr_bytes2xact( rmr_mbuf_t* mbuf, unsigned char const* src, int len ); extern void rmr_free_msg( rmr_mbuf_t* mbuf ); extern unsigned char* rmr_get_meid( rmr_mbuf_t* mbuf, unsigned char* dest ); +extern unsigned char* rmr_get_src( rmr_mbuf_t* mbuf, unsigned char* dest ); +extern rmr_mbuf_t* rmr_realloc_msg( rmr_mbuf_t* mbuf, int new_tr_size ); extern int rmr_str2meid( rmr_mbuf_t* mbuf, unsigned char const* str ); extern void rmr_str2payload( rmr_mbuf_t* mbuf, unsigned char const* str ); extern void rmr_str2payload( rmr_mbuf_t* mbuf, unsigned char const* str ); extern int rmr_str2xact( rmr_mbuf_t* mbuf, unsigned char const* str ); +extern int rmr_get_trlen( rmr_mbuf_t* msg ); +extern int rmr_get_trace( rmr_mbuf_t* msg, unsigned char* dest, int size ); +extern int rmr_set_trace( rmr_mbuf_t* msg, unsigned const char* data, int size ); extern int rmr_rcv_to( void* vctx, int time ); // DEPRECATED -- replaced with set_rtimeout extern int rmr_send_to( void* vctx, int time ); // DEPRECATED -- replaced with set_stimeout @@ -130,6 +139,7 @@ extern int rmr_send_to( void* vctx, int time ); // DEPRECATED -- replaced with // --- uta compatability defs if needed user should define UTA_COMPAT ---------------------------------- #ifdef UTA_COMPAT +#pragma message( "use of UTA_COMPAT is deprecated and soon to be removed" ) #define UTA_MAX_XID RMR_MAX_XID #define UTA_MAX_SID RMR_MAX_SID