--- libaitio/inc/aitio.h 2011/10/31 15:05:13 1.12.2.2 +++ libaitio/inc/aitio.h 2011/11/02 13:13:48 1.12.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.12.2.2 2011/10/31 15:05:13 misho Exp $ +* $Id: aitio.h,v 1.12.2.3 2011/11/02 13:13:48 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -880,6 +880,25 @@ pid_t ioForkPTY(int *ptyfd, char * __restrict name, in * return: -1 error or 0 ok */ inline int ioCreatePIDFile(const char *csName, int ifExists); + +/* + * ioSendFile() AITNET sendfile() userland implementation, not dependant from OS + * @s = socket + * @csFile = file for send + * @sendLen = bytes to send, if 0 send all data + * @offset = start file offset + * return: 0 error, >0 ok, sended bytes + */ +size_t ioSendFile(int s, const char *csFile, size_t sendLen, off_t offset); +/* + * ioRecvFile() Receive file from socket, fastest (zero-copy) way + * @s = socket + * @csFile = file for receive + * @recvLen = receive bytes + * @over = overwrite file if exists with mode like 0644 + * return: 0 error, >0 ok, received bytes + */ +size_t ioRecvFile(int s, const char *csFile, size_t recvLen, int over); #endif