15 #ifndef __included_vppjni_h__ 16 #define __included_vppjni_h__ 35 volatile u32 result_ready;
42 pthread_key_t cleanup_rx_thread_key;
64 return __sync_add_and_fetch (&jm->
context_id, 1);
69 while (__sync_lock_test_and_set (&jm->
lock, 1))
84 return VNET_API_ERROR_NOT_CONNECTED;
93 jm->result_ready = 0; \ 94 mp = vl_msg_api_alloc(sizeof(*mp)); \ 95 memset (mp, 0, sizeof (*mp)); \ 96 mp->_vl_msg_id = ntohs (VL_API_##T); \ 97 mp->client_index = jm->my_client_index; \ 102 jm->result_ready = 0; \ 103 mp = vl_msg_api_alloc(sizeof(*mp)+(n)); \ 104 memset (mp, 0, sizeof (*mp)); \ 105 mp->_vl_msg_id = ntohs (VL_API_##T); \ 106 mp->client_index = jm->my_client_index; \ 110 #define S (vl_msg_api_send_shmem (jm->vl_input_queue, (u8 *)&mp)) static void vppjni_unlock(vppjni_main_t *jm)
vppjni_main_t vppjni_main
static u32 vppjni_get_context_id(vppjni_main_t *jm)
static void vppjni_lock(vppjni_main_t *jm, u32 tag)
static int vppjni_sanity_check(vppjni_main_t *jm)
#define CLIB_MEMORY_BARRIER()
struct _unix_shared_memory_queue unix_shared_memory_queue_t