home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / kaffe-0.5p4-src.tgz / tar.out / contrib / kaffe / lib / support / files.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  1KB  |  57 lines

  1. /*
  2.  * files.h
  3.  *
  4.  * Copyright (c) 1996 Systems Architecture Research Centre,
  5.  *           City University, London, UK.
  6.  *
  7.  * See the file "license.terms" for information on usage and redistribution
  8.  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  9.  *
  10.  * Written by Tim Wilkinson <tim@sarc.city.ac.uk>, February 1996.
  11.  */
  12.  
  13. #ifndef __files_h
  14. #define __files_h
  15.  
  16. #include "config.h"
  17. #include <jtypes.h>
  18. #include <fcntl.h>
  19. #include <sys/stat.h>
  20. #include <errno.h>
  21. #if defined(HAVE_UNISTD_H)
  22. #include <unistd.h>
  23. #endif
  24. #if defined(HAVE_IO_H)
  25. #include <io.h>
  26. #endif
  27.  
  28. #if defined(HAVE_STRERROR)
  29. #define    SYS_ERROR    (char*)strerror(errno)
  30. #else
  31. extern char* sys_errlist[];
  32. #define    SYS_ERROR    sys_errlist[errno]
  33. #endif
  34.  
  35. /* Define access() flags if not already defined */
  36. #if !defined(W_OK)
  37. #define    W_OK        2
  38. #define    R_OK        4
  39. #endif
  40.  
  41. /* If we don't have O_BINARY, define it to be 0 */
  42. #if !defined(O_BINARY)
  43. #define    O_BINARY    0
  44. #endif
  45.  
  46. /* Convert jlong's to and from off_t's */
  47. #if defined(HAVE_NATIVE_INT64)
  48. #define    jlong2off_t(j)        ((off_t)(j))
  49. #define    off_t2jlong(j)        ((jlong)(j))
  50. #else
  51. jlong    _cvt;
  52. #define    jlong2off_t(j)        ((off_t)(j).jl)
  53. #define    off_t2jlong(j)        (_cvt.jl = (j), _cvt)
  54. #endif
  55.  
  56. #endif
  57.