5 #ifndef _MEMIF_SOCKET_H_
6 #define _MEMIF_SOCKET_H_
13 struct cne_memif_socket_dev_list_elt {
14 TAILQ_ENTRY(cne_memif_socket_dev_list_elt) next;
15 struct cne_pktdev *dev;
18 #define CNE_MEMIF_SOCKET_HASH_NAME "memif-sh"
19 #define UNIX_PATH_MAX 108
21 struct cne_memif_socket {
23 char filename[UNIX_PATH_MAX];
25 TAILQ_HEAD(, cne_memif_socket_dev_list_elt) dev_queue;
31 struct cne_memif_msg_queue_elt {
33 TAILQ_ENTRY(cne_memif_msg_queue_elt) next;
37 struct cne_memif_control_channel {
39 TAILQ_HEAD(, cne_memif_msg_queue_elt) msg_queue;
40 struct cne_memif_socket *socket;
41 struct cne_pktdev *dev;
51 void cne_memif_socket_remove_device(
struct cne_pktdev *dev);
63 void cne_memif_msg_enq_disconnect(
struct cne_memif_control_channel *cc,
const char *reason,
77 int cne_memif_socket_init(
struct cne_pktdev *dev,
const char *socket_filename);
85 void cne_memif_disconnect(
struct cne_pktdev *dev);
96 int cne_memif_connect_server(
struct cne_pktdev *dev);
107 int cne_memif_connect_client(
struct cne_pktdev *dev);
TAILQ_HEAD(pktdev_driver_list, pktdev_driver)