Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > f111f9981ce7408475873cb06d26b0a8 > files > 294

ircd-hybrid-7.2.3-6mdv2009.0.i586.rpm

Overview of the file management subsystem
Adrian Chadd <adrian@creative.net.au>

$Id: file-management.txt 33 2005-10-02 20:50:00Z knight $

File operations
---------------

The file operations are also wrapped through file_open() and file_close()
which handle calling fd_open() / fd_close() and tracking the filedescriptors
correctly. fbopen() / fbclose() use file_open() / file_close() too.

fileio.c defines the functions:

int
file_open(const char *filename, int mode, int fmode)

A wrapper around open(filename, flags, mode). Read the open manpage for
information. file_open() enforces filedescriptor limits and tags the FD
through fd_open().

void
file_close(int fd)

A wrapper around close() for files. close() handles fd_close()ing the fd.


FBFILE *
fbopen(const char *filename, const char *mode)

void
fbclose(FBFILE *fb)

These are the 'buffered disk IO' routines. You can read the code yourself.
Note that these routines use file_open() and file_close().