summaryrefslogtreecommitdiff
path: root/packages/libc/src/bfcntlh.inc
blob: 35dfe5f146ff79b0a3b35081cd58143dc816f4d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

const
   O_ACCMODE  = &00003;
   O_RDONLY   = &00000;
   O_WRONLY   = &00001;
   O_RDWR     = &00002;
   O_CREAT    = &00100;
   O_EXCL     = &00200;
   O_NOCTTY   = &00400;
   O_TRUNC    = &01000;
   O_APPEND   = &02000;
   O_NONBLOCK = &04000;
   O_NDELAY   = O_NONBLOCK;
   O_SYNC     = &010000;
   O_FSYNC    = O_SYNC;
   O_ASYNC    = &020000;

   O_DIRECT    = &0040000;
   O_DIRECTORY = &0200000;
   O_NOFOLLOW  = &0400000;

   O_DSYNC = O_SYNC;
   O_RSYNC = O_SYNC;

   O_LARGEFILE = &0100000;

   F_DUPFD   = 0;
   F_GETFD   = 1;
   F_SETFD   = 2;
   F_GETFL   = 3;
   F_SETFL   = 4;

   F_GETLK   = 5;
   F_SETLK   = 6;
   F_SETLKW  = 7;

   F_GETLK64  = 12;
   F_SETLK64  = 13;
   F_SETLKW64 = 14;

   F_SETOWN = 8;
   F_GETOWN = 9;

   F_SETSIG = 10;
   F_GETSIG = 11;

   F_SETLEASE = 1024;
   F_GETLEASE = 1025;
   F_NOTIFY = 1026;

   FD_CLOEXEC = 1;
   F_RDLCK = 0;
   F_WRLCK = 1;
   F_UNLCK = 2;
   F_EXLCK = 4;
   F_SHLCK = 8;

   LOCK_SH = 1;
   LOCK_EX = 2;
   LOCK_NB = 4;
   LOCK_UN = 8;

   LOCK_MAND = 32;
   LOCK_READ = 64;
   LOCK_WRITE = 128;
   LOCK_RW = 192;

   DN_ACCESS = $00000001;
   DN_MODIFY = $00000002;
   DN_CREATE = $00000004;
   DN_DELETE = $00000008;
   DN_RENAME = $00000010;
   DN_ATTRIB = $00000020;
   DN_MULTISHOT = $80000000;

type
   Pflock = ^flock;
   flock = record
        l_type : smallint;
        l_whence : smallint;
        l_start : __off_t;
        l_len : __off_t;
        l_pid : __pid_t;
     end;

   Pflock64 = ^flock64;
   flock64 = record
        l_type : smallint;
        l_whence : smallint;
        l_start : __off64_t;
        l_len : __off64_t;
        l_pid : __pid_t;
     end;

const
   FAPPEND = O_APPEND;
   FFSYNC = O_FSYNC;
   FASYNC = O_ASYNC;
   FNONBLOCK = O_NONBLOCK;
   FNDELAY = O_NDELAY;

   POSIX_FADV_NORMAL = 0;
   POSIX_FADV_RANDOM = 1;
   POSIX_FADV_SEQUENTIAL = 2;
   POSIX_FADV_WILLNEED = 3;
   POSIX_FADV_DONTNEED = 4;
   POSIX_FADV_NOREUSE = 5;


{ ---------------------------------------------------------------------
    Borland compatibility types
  ---------------------------------------------------------------------}

Type
  TFlock = flock;

  TFlock64 = Flock64;