45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
#pragma once
|
|
|
|
#define SEEK_SET 0
|
|
#define SEEK_CUR 1
|
|
#define SEEK_END 2
|
|
|
|
#define R_OK 4
|
|
#define W_OK 2
|
|
#define X_OK 1
|
|
#define F_OK 0
|
|
|
|
#define AT_FDCWD (-100)
|
|
#define AT_SYMLINK_NOFOLLOW (1 << 0)
|
|
#define AT_EMPTY_PATH (1 << 1)
|
|
#define AT_REMOVEDIR (1 << 2)
|
|
|
|
// O_EXEC is a special one for opening a node for
|
|
// execution
|
|
#define O_EXEC (1 << 2)
|
|
|
|
#define O_ACCMODE (3 << 0)
|
|
#define O_RDONLY (0 << 0)
|
|
#define O_WRONLY (1 << 0)
|
|
#define O_RDWR (2 << 0)
|
|
#define O_CREAT (1 << 6)
|
|
#define O_EXCL (1 << 7)
|
|
#define O_TRUNC (1 << 9)
|
|
#define O_APPEND (1 << 10)
|
|
#define O_DIRECTORY (1 << 16)
|
|
#define O_CLOEXEC (1 << 19)
|
|
// #define O_NOCTTY 00000400
|
|
// #define O_NONBLOCK 00004000
|
|
// #define O_DSYNC 00010000
|
|
// #define FASYNC 00020000
|
|
// #define O_DIRECT 00040000
|
|
// #define O_LARGEFILE 00100000
|
|
// #define O_NOFOLLOW 00400000
|
|
// #define O_NOATIME 01000000
|
|
|
|
#define FD_CLOEXEC (1 << 0)
|
|
|
|
// fcntl() commands
|
|
#define F_GETFD 1
|
|
#define F_SETFD 2
|