mk: fix vhost shared library dependencies
[dpdk.git] / lib / librte_vhost / vhost_user / fd_man.h
index 26b4619..74ecde2 100644 (file)
 #ifndef _FD_MAN_H_
 #define _FD_MAN_H_
 #include <stdint.h>
+#include <pthread.h>
 
 #define MAX_FDS 1024
 
-typedef void (*fd_cb)(int fd, void *dat);
+typedef void (*fd_cb)(int fd, void *dat, int *remove);
 
 struct fdentry {
        int fd;         /* -1 indicates this entry is empty */
        fd_cb rcb;      /* callback when this fd is readable. */
        fd_cb wcb;      /* callback when this fd is writeable.*/
        void *dat;      /* fd context */
+       int busy;       /* whether this entry is being used in cb. */
 };
 
 struct fdset {
        struct fdentry fd[MAX_FDS];
+       pthread_mutex_t fd_mutex;
        int num;        /* current fd number of this fdset */
 };