--- libaitio/inc/aitio.h 2013/06/24 14:42:59 1.31.2.2 +++ libaitio/inc/aitio.h 2013/06/26 22:48:53 1.32 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.31.2.2 2013/06/24 14:42:59 misho Exp $ +* $Id: aitio.h,v 1.32 2013/06/26 22:48:53 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -406,7 +406,7 @@ int io_get1stiface(char *szIface, int iflen); * return: -1 error or >-1 bpf handle */ int io_etherOpen(const char *csIface, int flags, int whdr, - unsigned int buflen, void **zcbuf); + unsigned int *buflen, void **zcbuf); /* * io_etherClose() - Close BPF interface * @@ -415,6 +415,27 @@ int io_etherOpen(const char *csIface, int flags, int w * return: none */ void io_etherClose(int eth, void **zcbuf); + +/* + * io_etherSend() - Send packet to bpf + * + * @eth = bpf handle + * @buf = buffer + * @buflen = buffer length + * return: -1 error or !=-1 written bytes + */ +ssize_t io_etherSend(int eth, const void *buf, size_t buflen); +/* + * io_etherRecv() - Receive packet from bpf + * + * @eth = bpf handle + * @buf = buffer + * @buflen = buffer length + * @zcbuf = zero copy buffer, if BPF supports it and isn't NULL + * return: -1 error or !=-1 readed bytes + */ +ssize_t io_etherRecv(int eth, void * __restrict buf, + size_t buflen, void * __restrict zcbuf); #endif