home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / isc / stdio.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-09-17  |  2.1 KB  |  78 lines

  1. /*
  2.  * Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC")
  3.  * Copyright (C) 2000, 2001  Internet Software Consortium.
  4.  *
  5.  * Permission to use, copy, modify, and distribute this software for any
  6.  * purpose with or without fee is hereby granted, provided that the above
  7.  * copyright notice and this permission notice appear in all copies.
  8.  *
  9.  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
  10.  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  11.  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
  12.  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  13.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  14.  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15.  * PERFORMANCE OF THIS SOFTWARE.
  16.  */
  17.  
  18. /* $Id: stdio.h,v 1.7.18.2 2005/04/29 00:17:03 marka Exp $ */
  19.  
  20. #ifndef ISC_STDIO_H
  21. #define ISC_STDIO_H 1
  22.  
  23. /*! \file */
  24.  
  25. /*% 
  26.  * These functions are wrappers around the corresponding stdio functions.
  27.  *
  28.  * They return a detailed error code in the form of an an isc_result_t.  ANSI C
  29.  * does not guarantee that stdio functions set errno, hence these functions
  30.  * must use platform dependent methods (e.g., the POSIX errno) to construct the
  31.  * error code.
  32.  */
  33.  
  34. #include <stdio.h>
  35.  
  36. #include <isc/lang.h>
  37. #include <isc/result.h>
  38.  
  39. ISC_LANG_BEGINDECLS
  40.  
  41. /*% Open */
  42. isc_result_t
  43. isc_stdio_open(const char *filename, const char *mode, FILE **fp);
  44.  
  45. /*% Close */
  46. isc_result_t
  47. isc_stdio_close(FILE *f);
  48.  
  49. /*% Seek */
  50. isc_result_t
  51. isc_stdio_seek(FILE *f, long offset, int whence);
  52.  
  53. /*% Read */
  54. isc_result_t
  55. isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f,
  56.            size_t *nret);
  57.  
  58. /*% Write */
  59. isc_result_t
  60. isc_stdio_write(const void *ptr, size_t size, size_t nmemb, FILE *f,
  61.         size_t *nret);
  62.  
  63. /*% Flush */
  64. isc_result_t
  65. isc_stdio_flush(FILE *f);
  66.  
  67. isc_result_t
  68. isc_stdio_sync(FILE *f);
  69. /*%<
  70.  * Invoke fsync() on the file descriptor underlying an stdio stream, or an
  71.  * equivalent system-dependent operation.  Note that this function has no
  72.  * direct counterpart in the stdio library.
  73.  */
  74.  
  75. ISC_LANG_ENDDECLS
  76.  
  77. #endif /* ISC_STDIO_H */
  78.