]> git.droids-corp.org - dpdk.git/blobdiff - lib/librte_vhost/vhost_user/fd_man.h
mk: fix vhost shared library dependencies
[dpdk.git] / lib / librte_vhost / vhost_user / fd_man.h
index 26b46195991bab7911f26433abe75ff90ce726d9..74ecde2c877a3e022fcdaa8188a9fb54e11ecd9a 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 */
 };