1 signature POSIX_IO_1997 =
6 val pipe: unit -> {infd: file_desc, outfd: file_desc}
7 val dup: file_desc -> file_desc
8 val dup2: {old: file_desc, new: file_desc} -> unit
10 val close: file_desc -> unit
11 val readVec: file_desc * int -> Word8Vector.vector
12 val readArr: file_desc * {buf: Word8Array.array,
14 sz: int option} -> int
15 val writeVec: file_desc * {buf: Word8Vector.vector,
17 sz: int option} -> int
18 val writeArr: file_desc * {buf: Word8Array.array,
20 sz: int option} -> int
22 datatype whence = SEEK_SET | SEEK_CUR | SEEK_END
26 include POSIX_FLAGS_1997
33 include POSIX_FLAGS_1997
40 datatype open_mode = O_RDONLY | O_WRONLY | O_RDWR
42 val dupfd: {old: file_desc, base: file_desc} -> file_desc
43 val getfd: file_desc -> FD.flags
44 val setfd: file_desc * FD.flags -> unit
45 val getfl: file_desc -> O.flags * open_mode
46 val setfl: file_desc * O.flags -> unit
47 val lseek: file_desc * Position.int * whence -> Position.int
48 val fsync: file_desc -> unit
65 val ltype: flock -> lock_type
66 val whence: flock -> whence
67 val start: flock -> Position.int
68 val len: flock -> Position.int
69 val pid: flock -> pid option
72 val getlk: file_desc * FLock.flock -> FLock.flock
73 val setlk: file_desc * FLock.flock -> FLock.flock
74 val setlkw: file_desc * FLock.flock -> FLock.flock