futilities.h File Reference

Various functions prototypes defined in futilities.cpp. More...


Namespaces

namespace  rpa

Classes

struct  rpa::visitor
 Base class for copying a file descirptor into another. More...
class  rpa::streambuf_visitor
 For writing into an output streambuf. More...
class  rpa::FILE_visitor
 For writing memory segments into a POSIX file. More...
class  rpa::fd_visitor
 For writing memory segments into an integer file descriptor. More...

Defines

#define RPA_SENDFILE_AVAILABLE

Functions

void rpa::tmpnam_vconcat (char *aBuf, const char *aPattern,...)
 Handy function for creating temporary file names. For testing purpose.
void rpa::fsetposition (FILE *aF, off_t aPos)
 This wraps a fseek with some error detection code.
off_t rpa::fposition (FILE *aF)
 This returns the current offset from the file beginning.
void rpa::fsetposition (int aFd, off_t aPos)
off_t rpa::fposition (int aFd)
bool rpa::frewinded (FILE *myF)
 This tells whether a file is rewinded to its beginning.
bool rpa::frewinded (int aFilDes)
 This tells whether a file is rewinded to its beginning.
void rpa::frewind (int aFilDes)
 Rewinds a file to its beginning.
int rpa::fileno_nolock (FILE *aFilPtr)
 Returns the int file descriptor of the FILE ptr.
int rpa::ferror_nolock (FILE *aFilPtr)
 Does the same as 'ferror' but assumes an exclusive access to the file.
size_t rpa::fread_nolock (void *ptr, size_t size, size_t n, FILE *stream)
size_t rpa::fwrite_nolock (const void *ptr, size_t size, size_t n, FILE *stream)
bool rpa::mmap_loop (FILE *aF, const visitor &aVisit, size_t aPagSiz)
 Moves data from shared memory to a POSIX file.
bool rpa::mmap_loop (int aFilDes, const visitor &aVisit, size_t aPagSiz)
 Moves data from shared memory to an integer file descriptor.
bool rpa::FILE_loop (FILE *aF, const visitor &aVisit, size_t aBufSiz)
 Moves data from a POSIX FILE to another.
bool rpa::fd_loop (int aFilDes, const visitor &aVisit, size_t aBufSiz)
 Moves data from an integer file descriptor to another.
bool rpa::dmp_sendfile (int aSrcFd, int aDstFd)
bool rpa::fexists (const char *aFile)
 Just tells whether a file exists. Debugging only.


Detailed Description

Various functions prototypes defined in futilities.cpp.

Related to files, memory mapping, IOs. All operating-system datatypes are hidden to the calling program, such as file offsets, file positions, etc... So, when using 64-bits files (large files), only futilies.cpp needs to be recompiled. The point is that these functions offers the same error signaling mechanism with exceptions.


Define Documentation

#define RPA_SENDFILE_AVAILABLE

In Linux 2.6, it is not possible to make sendfile on an input file. The input file must be a socket. This decision because there is no performance benefit. This special case is processed in this library.


Generated on Tue Sep 25 10:20:30 2007 for rpa by  doxygen 1.4.7