--- libaitio/inc/aitio.h 2012/01/24 10:03:35 1.13.2.11 +++ libaitio/inc/aitio.h 2012/02/02 15:32:02 1.13.2.12 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.13.2.11 2012/01/24 10:03:35 misho Exp $ +* $Id: aitio.h,v 1.13.2.12 2012/02/02 15:32:02 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -997,6 +997,30 @@ size_t ioSendFile(int s, const char *csFile, size_t se * return: 0 error, >0 ok, received bytes */ size_t ioRecvFile(int s, const char *csFile, size_t recvLen, int over, int rcvbuf); + + +/* Buffered file access over memory block */ + +/* + * io_fmemopen() File buffered stream operations over memory block + * + * @base = Base address of memory block, if =NULL Infinit length(auto-grow) + * @basesize = Size of memory block + * return: NULL error or !=NULL Opened file resource + */ +FILE *io_fmemopen(void ** __restrict base, off_t basesize); +/* + * io_fmapopen() File buffered stream operations over MMAP block + * + * @csFile = Filename for MMAP, if =NULL private MMAP block + * @mode = File open mode + * @perm = If file not exists will be created with this access permissions + * @prot = MMAP protection + * @flags = MMAP mode flags + * @offset = Map from file offset, if csFile==NULL then this is size of MMAP private block + * return: NULL error or !=NULL Opened file resource + */ +FILE *io_fmapopen(const char *csFile, int mode, int perm, int prot, int flags, off_t offset); #endif