#include <netdb.h>
#include <errno.h>
+#include <sys/epoll.h>
/*
* VPPCOM Public API Definitions, Enums, and Data Structures
VPPCOM_ETIMEDOUT = -ETIMEDOUT,
} vppcom_error_t;
+typedef enum
+{
+ VPPCOM_ATTR_GET_NREAD,
+ VPPCOM_ATTR_PEEK_NREAD,
+ VPPCOM_ATTR_GET_FLAGS,
+ VPPCOM_ATTR_SET_FLAGS,
+ VPPCOM_ATTR_GET_LCL_ADDR,
+ VPPCOM_ATTR_GET_PEER_ADDR,
+ VPPCOM_ATTR_SET_REUSEADDR,
+ VPPCOM_ATTR_SET_BROADCAST,
+ VPPCOM_ATTR_SET_V6ONLY,
+ VPPCOM_ATTR_SET_KEEPALIVE,
+ VPPCOM_ATTR_SET_TCP_KEEPIDLE,
+ VPPCOM_ATTR_SET_TCP_KEEPINTVL,
+} vppcom_attr_op_t;
+
/*
* VPPCOM Public API Functions
*/
return st;
}
-static inline int
-is_vcom_fd (int fd)
-{
-#define VPPCOM_FD_OFFSET (1 << 30)
- return (fd >= VPPCOM_FD_OFFSET);
-}
-
/* TBD: make these constructor/destructor function */
extern int vppcom_app_create (char *app_name);
extern void vppcom_app_destroy (void);
unsigned long *write_map,
unsigned long *except_map, double wait_for_time);
+extern int vppcom_epoll_create (void);
+extern int vppcom_epoll_ctl (uint32_t vep_idx, int op,
+ uint32_t session_index,
+ struct epoll_event *event);
+extern int vppcom_epoll_wait (uint32_t vep_idx, struct epoll_event *events,
+ int maxevents, double wait_for_time);
+extern int vppcom_session_attr (uint32_t session_index, uint32_t op,
+ void *buffer, uint32_t * buflen);
+
#endif /* included_vppcom_h */
/*