home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / sys / stat.h next >
Encoding:
C/C++ Source or Header  |  1996-02-20  |  3.3 KB  |  118 lines

  1. #if (defined(__IBMC__) || defined(__IBMCPP__))
  2. #pragma info( none )
  3. #ifndef __CHKHDR__
  4.    #pragma info( none )
  5. #endif
  6. #pragma info( restore )
  7. #endif
  8.  
  9. #ifndef __stat_h
  10.    #define __stat_h
  11.  
  12.    #ifdef __cplusplus
  13.       extern "C" {
  14.    #endif
  15.  
  16.    #ifndef  _LNK_CONV
  17.      #ifdef _M_I386
  18.          #define  _LNK_CONV   _Optlink
  19.      #else
  20.        #define  _LNK_CONV
  21.      #endif
  22.    #endif
  23.  
  24.    /********************************************************************/
  25.    /*  <sys\stat.h> header file                                        */
  26.    /*                                                                  */
  27.    /*  VisualAge for C++ for Windows, Version 3.5                      */
  28.    /*    Licensed Material - Property of IBM                           */
  29.    /*                                                                  */
  30.    /*  5801-ARR and Other Materials                                    */
  31.    /*                                                                  */
  32.    /*  (c) Copyright IBM Corp 1991, 1996. All rights reserved.         */
  33.    /*                                                                  */
  34.    /********************************************************************/
  35.  
  36.    #if ( defined(__SPC__) || defined(__EXTENDED__))
  37.  
  38.       #ifndef __ino_t
  39.          typedef unsigned short ino_t;
  40.          #define __ino_t
  41.       #endif
  42.  
  43.       #ifndef __time_t
  44.          #define __time_t
  45.          typedef long time_t;
  46.       #endif
  47.  
  48.       #ifndef __dev_t
  49.          typedef short dev_t;
  50.          #define __dev_t
  51.       #endif
  52.  
  53.       #ifndef __off_t
  54.          typedef long off_t;
  55.          #define __off_t
  56.       #endif
  57.  
  58.       #pragma pack( 2 )
  59.       struct stat
  60.          {
  61.          dev_t st_dev;
  62.          ino_t st_ino;
  63.          unsigned short st_mode;
  64.          short st_nlink;
  65.          short st_uid;
  66.          short st_gid;
  67.          dev_t st_rdev;
  68.          unsigned short __filler;
  69.          off_t st_size;
  70.          time_t st_atime;
  71.          time_t st_mtime;
  72.          time_t st_ctime;
  73.          };
  74.       #pragma pack( )
  75.  
  76.       #define S_IFDIR         0x4000         /* directory                     */
  77.       #define S_IFCHR         0x2000         /* character device              */
  78.       #define S_IFREG         0x8000         /* regular file                  */
  79.       #define S_IREAD         0x0100         /* read permission               */
  80.       #define S_IWRITE        0x0080         /* write permission              */
  81.       #define S_IEXEC         0x0040         /* execute/search permission     */
  82.  
  83.       int _LNK_CONV _fstat( int, struct stat * );
  84.       int _LNK_CONV _stat( const char *, struct stat * );
  85.  
  86.       int _LNK_CONV  fstat( int, struct stat * );
  87.       int _LNK_CONV  stat( const char *, struct stat * );
  88.  
  89.     #if (defined(__IBMC__) || defined(__IBMCPP__))
  90.       #ifdef __OS2__
  91.       #pragma map( stat , "_stat"  )
  92.       #pragma map( fstat, "_fstat" )
  93.       #else
  94.       #pragma map( stat , "?_stat"  )
  95.       #pragma map( fstat, "?_fstat" )
  96.       #endif
  97.     #else
  98.       #pragma Alias( stat , "_stat"  )
  99.       #pragma Alias( fstat, "_fstat" )
  100.     #endif
  101.  
  102.    #endif
  103.  
  104.    #ifdef __cplusplus
  105.       }
  106.    #endif
  107.  
  108. #endif
  109.  
  110. #if (defined(__IBMC__) || defined(__IBMCPP__))
  111. #pragma info( none )
  112. #ifndef __CHKHDR__
  113.    #pragma info( restore )
  114. #endif
  115. #pragma info( restore )
  116. #endif
  117.  
  118.