Coding Guidelines/Filesystem Manipulation

From wiki.zmanda.com
Revision as of 21:47, 23 May 2007 by Dustin (talk | contribs) (more helpful functions)
Jump to navigation Jump to search

Amanda supplies a few wrapper functions around the ordinary descriptor operations to handle a few common cases. In most cases, these functions are preferred over calling the wrapped function directly.

robust_open

in common-src/file.c

This function wraps open to retry on certain failures, and sets the close-on-exec flag.

robust_close

in common-src/file.c

This function wraps close to retry on certain failures.

fullread

in common-src/util.c

This function calls read repeatedly until the given buffer is full, or an EOF or an error occurs. It handles interrupted syscalls appropriately.

fullwrite

in common-src/util.c

Similarly, this function calls write repeatedly, until the entire buffer has been writte, or an error occurs.

portable_readdir

in common-src/util.c

This function wraps the various readdir implementations that might be available, including re-entrant and 64-bit versions, preferring 64-bit compatibility and re-entrancy.