root/compat/vcbuild/include/unistd.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


#ifndef _UNISTD_
#define _UNISTD_

/* Win32 define for porting git*/

#ifndef _MODE_T_
#define _MODE_T_
typedef unsigned short _mode_t;

#ifndef _NO_OLDNAMES
typedef _mode_t mode_t;
#endif
#endif  /* Not _MODE_T_ */

#ifndef _SSIZE_T_
#define _SSIZE_T_
typedef long _ssize_t;

#ifndef _OFF_T_
#define _OFF_T_
typedef long _off_t;

#ifndef _NO_OLDNAMES
typedef _off_t  off_t;
#endif
#endif  /* Not _OFF_T_ */


#ifndef _NO_OLDNAMES
typedef _ssize_t ssize_t;
#endif
#endif /* Not _SSIZE_T_ */

typedef signed char int8_t;
typedef unsigned char   uint8_t;
typedef short  int16_t;
typedef unsigned short  uint16_t;
typedef int  int32_t;
typedef unsigned   uint32_t;
typedef long long  int64_t;
typedef unsigned long long   uint64_t;

typedef long long  intmax_t;
typedef unsigned long long uintmax_t;

typedef int64_t off64_t;

#define INTMAX_MIN  _I64_MIN
#define INTMAX_MAX  _I64_MAX
#define UINTMAX_MAX _UI64_MAX

#define UINT32_MAX 0xffffffff  /* 4294967295U */

#define STDIN_FILENO  0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2

/* Some defines for _access nAccessMode (MS doesn't define them, but
 * it doesn't seem to hurt to add them). */
#define F_OK    0       /* Check for file existence */
/* Well maybe it does hurt.  On newer versions of MSVCRT, an access mode
   of 1 causes invalid parameter error. */
#define X_OK    0       /* MS access() doesn't check for execute permission. */
#define W_OK    2       /* Check for write permission */
#define R_OK    4       /* Check for read permission */

#define _S_IFIFO        0x1000  /* FIFO */
#define _S_IFCHR        0x2000  /* Character */
#define _S_IFBLK        0x3000  /* Block: Is this ever set under w32? */
#define _S_IFDIR        0x4000  /* Directory */
#define _S_IFREG        0x8000  /* Regular */

#define _S_IFMT         0xF000  /* File type mask */

#define _S_IXUSR        _S_IEXEC
#define _S_IWUSR        _S_IWRITE
#define _S_IRUSR        _S_IREAD
#define _S_ISDIR(m)     (((m) & _S_IFMT) == _S_IFDIR)

#define S_IFIFO         _S_IFIFO
#define S_IFCHR         _S_IFCHR
#define S_IFBLK         _S_IFBLK
#define S_IFDIR         _S_IFDIR
#define S_IFREG         _S_IFREG
#define S_IFMT          _S_IFMT
#define S_IEXEC         _S_IEXEC
#define S_IWRITE        _S_IWRITE
#define S_IREAD         _S_IREAD
#define S_IRWXU         _S_IRWXU
#define S_IXUSR         _S_IXUSR
#define S_IWUSR         _S_IWUSR
#define S_IRUSR         _S_IRUSR


#define S_ISDIR(m)      (((m) & S_IFMT) == S_IFDIR)
#define S_ISREG(m)      (((m) & S_IFMT) == S_IFREG)
#define S_ISFIFO(m)     (((m) & S_IFMT) == S_IFIFO)

#endif

/* [<][>][^][v][top][bottom][index][help] */