X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fsocket_api.h;h=41835e3050b16ff7e53613b9b3fa38f37c0a69d8;hb=b29d523af039ac007238300a7316ba9e3e44ce25;hp=86fd600edbb704d3863d7f271f1a22df9c35006e;hpb=466f289c27f290a2764a82f57f5c20d080227ead;p=vpp.git diff --git a/src/vlibmemory/socket_api.h b/src/vlibmemory/socket_api.h index 86fd600edbb..41835e3050b 100644 --- a/src/vlibmemory/socket_api.h +++ b/src/vlibmemory/socket_api.h @@ -22,12 +22,14 @@ #include #include -#define API_SOCKET_FILE "/run/vpp-api.sock" +/* Deprecated */ +#define API_SOCKET_FILE "/run/vpp/api.sock" + +#define API_SOCKET_FILENAME "api.sock" typedef struct { - clib_file_t *clib_file; - vl_api_registration_t *regp; + u32 reg_index; u8 *data; } vl_socket_args_for_process_t; @@ -50,7 +52,6 @@ typedef struct * or to a shared-memory connection. */ vl_api_registration_t *current_rp; - clib_file_t *current_uf; /* One input buffer, shared across all sockets */ i8 *input_buffer; @@ -63,24 +64,28 @@ typedef struct extern socket_main_t socket_main; +always_inline vl_api_registration_t * +vl_socket_get_registration (u32 reg_index) +{ + if (pool_is_free_index (socket_main.registration_pool, reg_index)) + return 0; + return pool_elt_at_index (socket_main.registration_pool, reg_index); +} + void vl_socket_free_registration_index (u32 pool_index); clib_error_t *vl_socket_read_ready (struct clib_file *uf); -void vl_socket_add_pending_output (struct clib_file *uf, - struct vl_api_registration_ *rp, - u8 * buffer, uword buffer_bytes); -void vl_socket_add_pending_output_no_flush (struct clib_file *uf, - struct vl_api_registration_ *rp, - u8 * buffer, uword buffer_bytes); clib_error_t *vl_socket_write_ready (struct clib_file *uf); void vl_socket_api_send (vl_api_registration_t * rp, u8 * elem); -void vl_socket_process_api_msg (clib_file_t * uf, vl_api_registration_t * rp, - i8 * input_v); +void vl_socket_process_api_msg (vl_api_registration_t * rp, i8 * input_v); void vl_sock_api_dump_clients (vlib_main_t * vm, api_main_t * am); clib_error_t *vl_sock_api_init (vlib_main_t * vm); clib_error_t *vl_sock_api_send_fd_msg (int socket_fd, int fds[], int n_fds); clib_error_t *vl_sock_api_recv_fd_msg (int socket_fd, int fds[], int n_fds, u32 wait); +vl_api_registration_t *vl_socket_api_client_handle_to_registration (u32 idx); +u8 vl_socket_api_registration_handle_is_valid (u32 reg_index); + #endif /* SRC_VLIBMEMORY_SOCKET_API_H_ */ /*