mp = vl_socket_client_msg_alloc (sizeof(*mp)); \
else \
mp = vl_msg_api_alloc_as_if_client(sizeof(*mp)); \
- memset (mp, 0, sizeof (*mp)); \
+ clib_memset (mp, 0, sizeof (*mp)); \
mp->_vl_msg_id = ntohs (VL_API_##T+__plugin_msg_base); \
mp->client_index = vam->my_client_index; \
} while(0);
mp = vl_socket_client_msg_alloc (sizeof(*mp)); \
else \
mp = vl_msg_api_alloc_as_if_client(sizeof(*mp)); \
- memset (mp, 0, sizeof (*mp)); \
+ clib_memset (mp, 0, sizeof (*mp)); \
mp->_vl_msg_id = ntohs (VL_API_##T+__plugin_msg_base); \
mp->client_index = vam->my_client_index; \
if (scm) \
mp = vl_socket_client_msg_alloc (sizeof(*mp)); \
else \
mp = vl_msg_api_alloc_as_if_client(sizeof(*mp) + n); \
- memset (mp, 0, sizeof (*mp)); \
+ clib_memset (mp, 0, sizeof (*mp)); \
mp->_vl_msg_id = ntohs (VL_API_##T+__plugin_msg_base); \
mp->client_index = vam->my_client_index; \
} while(0);
} \
} while(0);
+#define VAT_PLUGIN_REGISTER(plug) \
+clib_error_t * vat_plugin_register (vat_main_t *vam) \
+{ \
+ plug##_test_main_t * mp = &plug##_test_main; \
+ u8 * name; \
+ \
+ mp->vat_main = vam; \
+ \
+ /* Ask the vpp engine for the first assigned message-id */ \
+ name = format (0, #plug "_%08x%c", api_version, 0); \
+ mp->msg_id_base = \
+ vl_client_get_first_plugin_msg_id ((char *) name); \
+ vec_free(name); \
+ \
+ if (mp->msg_id_base != (u16) ~0) \
+ plug##_api_hookup (vam); \
+ else \
+ return clib_error_return (0, #plug " plugin not loaded...");\
+ return 0; \
+}
+
#endif /* __vat_helper_macros_h__ */