26 enum pcap_mode pcap_mode
;
30 const struct pcap_file_ops
*pcap_ops
;
31 const struct dev_io_ops
*ops
;
35 int(*open
) (struct dev_io
*dev
, const char *name
, enum dev_io_mode_t mode
);
36 int(*write
) (struct dev_io
*dev
, struct packet
*pkt
);
37 struct packet
*(*read
) (struct dev_io
*dev
);
38 int(*set_link_type
) (struct dev_io
*dev
, int link_type
);
39 void(*close
) (struct dev_io
*dev
);
42 extern struct dev_io
*dev_io_open(const char *name
, enum dev_io_mode_t mode
);
43 extern int dev_io_write(struct dev_io
*dev
, struct packet
*pkt
);
44 extern struct packet
*dev_io_read(struct dev_io
*dev
);
45 extern int dev_io_ifindex_get(struct dev_io
*dev
);
46 extern int dev_io_fd_get(struct dev_io
*dev
);
47 extern const char *dev_io_name_get(struct dev_io
*dev
);
48 extern int dev_io_link_type_set(struct dev_io
*dev
, int link_type
);
49 extern bool dev_io_is_netdev(struct dev_io
*dev
);
50 extern bool dev_io_is_pcap(struct dev_io
*dev
);
51 extern void dev_io_close(struct dev_io
*dev
);
53 #endif /* TRAFGEN_DEV_H */