/* A system call that opens a file identified by name in a given mode, and
returns a file descriptor uniquely identifying that file.
*/
-_PDCLIB_fd_t _PDCLIB_open( char const * const filename, int mode );
+_PDCLIB_fd_t _PDCLIB_open( char const * const filename, unsigned int mode );
/* A system call that writes n characters to a file identified by given file
- descriptor. Return the number of characters written.
+ descriptor. Return the number of characters actually written, or zero if
+ an error occured.
*/
_PDCLIB_size_t _PDCLIB_write( _PDCLIB_fd_t fd, char const * buffer, _PDCLIB_size_t n );
*/
_PDCLIB_size_t _PDCLIB_read( _PDCLIB_fd_t fd, char * buffer, _PDCLIB_size_t n );
-/* A system call that closes a file identified by given file descriptor. */
-void _PDCLIB_close( _PDCLIB_fd_t fd );
+/* A system call that closes a file identified by given file descriptor. Return
+ zero on success, non-zero otherwise.
+*/
+int _PDCLIB_close( _PDCLIB_fd_t fd );
/* A system call that removes a file identified by name. Return zero on success,
non-zero otherwise.