Allow C++ applications to include symtab header
[ric-plt/lib/rmr.git] / src / rmr / common / include / rmr_agnostic.h
index 6b1537b..27e1de8 100644 (file)
@@ -87,6 +87,7 @@ typedef struct uta_ctx  uta_ctx_t;
 #define MFL_NOALLOC            0x02            // send should NOT allocate a new buffer before returning
 #define MFL_ADDSRC             0x04            // source must be added on send
 #define MFL_RAW                        0x08            // message is 'raw' and not from an RMr based sender (no header)
+#define MFL_HUGE               0x10            // buffer was larger than applications indicated usual max; don't cache
 
 #define MAX_EP_GROUP   32                      // max number of endpoints in a group
 #define MAX_RTG_MSG_SZ 2048            // max expected message size from route generator
@@ -301,6 +302,7 @@ static int ie_test( void* r, int i_factor, long inserts );
 static inline uint64_t build_rt_key( int32_t sub_id, int32_t mtype );
 static void collect_things( void* st, void* entry, char const* name, void* thing, void* vthing_list );
 static void del_rte( void* st, void* entry, char const* name, void* thing, void* data );
+static endpoint_t*  get_meid_owner( route_table_t *rt, char* meid );
 static char* uta_fib( char* fname );
 static route_table_t* uta_rt_init( );
 static route_table_t* uta_rt_clone( route_table_t* srt );
@@ -310,13 +312,17 @@ static endpoint_t*  uta_add_ep( route_table_t* rt, rtable_ent_t* rte, char* ep_n
 static rtable_ent_t* uta_add_rte( route_table_t* rt, uint64_t key, int nrrgroups );
 static endpoint_t* uta_get_ep( route_table_t* rt, char const* ep_name );
 static void read_static_rt( uta_ctx_t* ctx, int vlevel );
-static void parse_rt_rec( uta_ctx_t* ctx, uta_ctx_t* pctx, char* buf, int vlevel );
+static void parse_rt_rec( uta_ctx_t* ctx,  uta_ctx_t* pctx, char* buf, int vlevel, rmr_mbuf_t* mbuf );
 static rmr_mbuf_t* realloc_msg( rmr_mbuf_t* msg, int size );
 static void* rtc( void* vctx );
 static endpoint_t* rt_ensure_ep( route_table_t* rt, char const* ep_name );
 
 // --------- route manager communications -----------------
-static void send_rt_ack( uta_ctx_t* ctx, int state, char* reason );
+static void send_rt_ack( uta_ctx_t* ctx, rmr_mbuf_t* mbuf, char* table_id, int state, char* reason );
 static int send_update_req( uta_ctx_t* pctx, uta_ctx_t* ctx );
 
+// -------- internal functions that can be referenced by common functions -------
+static rmr_mbuf_t* mt_call( void* vctx, rmr_mbuf_t* mbuf, int call_id, int max_wait, endpoint_t* ep );
+
+
 #endif