<<>> <> <> <> <> <> <> <> <> DIRECTORY UnixTypes USING [AccModTimes, AddressFamily, CHARPtr, FD, FileFlags, FileTimesPtr, GetResult, GID, GIDs, GIDsPtr, INTPtr, IOVec, IOVecPtr, IPCCtlCmd, MMapFlags, Mode, MsgFlags, MSyncFlags, PGRP, PID, PollFD, Protections, ProtocolFamily, RawVM, RES, RSFlags, RUsage, SDHow, SharedMemoryIdentifier, SharedMemoryKey, ShmAtFlags, ShmGetFlags, ShmIdDs, shmNoFlags, Signal, SockAddr, SockAddrPtr, SocketType, Stat, StatFS, StatFSPtr, StatPtr, StrBuf, StrBufPtr, TimeVal, TimeValPtr, TimeZone, TimeZonePtr, UID, Whence, Who]; UnixSysCalls: CEDAR DEFINITIONS ~ { OPEN UnixTypes; Accept: UNSAFE PROC [s: FD, addr: SockAddrPtr, addrLen: INTPtr] RETURNS [FD]; Access: PROC [path: CHARPtr, mode: Mode] RETURNS [RES]; <> <> <> <> <> Bind: PROC [s: FD, name: SockAddrPtr, nameLen: INT] RETURNS [RES]; <> <> <<>> <> ChMod: PROC [path: CHARPtr, mode: Mode] RETURNS [RES]; FChMod: PROC [fd: FD, mode: Mode] RETURNS [RES]; <> <> <> Close: PROC [fd: FD] RETURNS [RES]; Connect: PROC [s: FD, name: SockAddrPtr, nameLen: INT] RETURNS [RES]; <> <> <> <> <> FCntl: PROC [fd: FD, cmd: INT, arg: INT] RETURNS [RES]; FCntl4: PROC [fd: FD, cmd: INT, arg: INT, doInIOP: BOOL] RETURNS [RES]; <> <> <> <> FSync: PROC [fd: FD] RETURNS [RES]; <> <> <<>> GetDEnts: UNSAFE PROC [fd: FD, buf: CHARPtr, nBytes: INT] RETURNS [INT]; <> GetDomainName: UNSAFE PROC [name: CHARPtr, nameLen: INT] RETURNS [RES]; GetDTableSize: PROC RETURNS [INT]; GetGID: PROC RETURNS [GID]; GetEGID: PROC RETURNS [GID]; GetGroups: UNSAFE PROC [gidSetLen: INT, gidSet: GIDsPtr] RETURNS [nGroups: INT]; <> GetHostID: PROC RETURNS [INT]; GetHostName: UNSAFE PROC [name: CHARPtr, nameLen: INT] RETURNS [RES]; <> <> <> <<>> GetMsg: UNSAFE PROC [fd: FD, ctlPtr, dataPtr: StrBufPtr, flags: POINTER TO RSFlags] RETURNS [GetResult]; GetPageSize: PROC RETURNS [INT]; GetPeerName: UNSAFE PROC [s: FD, name: SockAddrPtr, nameLen: INTPtr] RETURNS [RES]; GetPID: PROC RETURNS [INT]; GetPPID: PROC RETURNS [INT]; <> <> <> <> <<>> GetRUsage: UNSAFE PROC [who: Who, rusage: POINTER TO RUsage] RETURNS [RES]; GetSockName: UNSAFE PROC [s: FD, name: SockAddrPtr, nameLen: INTPtr] RETURNS [RES]; GetSockOpt: UNSAFE PROC [s: FD, level: INT, optName: INT, optVal: CHARPtr, optLen: INTPtr] RETURNS [RES]; SetSockOpt: PROC [s: FD, level: INT, optName: INT, optVal: CHARPtr, optLen: INT] RETURNS [RES]; GetTimeOfDay: UNSAFE PROC [tp: TimeValPtr, tzp: TimeZonePtr] RETURNS [RES]; <> GetUID: PROC RETURNS[UID]; GetEUID: PROC RETURNS[UID]; IOCtl: UNSAFE PROC [d: FD, request: INT, argp: CHARPtr] RETURNS [RES]; <<... only a subset of the full Unix capability. See impl.>> IOCtl4: UNSAFE PROC [d: FD, request: INT, argp: CHARPtr, doInIOP: BOOL] RETURNS [RES]; <> <> Kill: PROC [pid: PID, sig: Signal] RETURNS [RES]; KillPG: PROC [pgrp: PGRP, sig: Signal] RETURNS [RES]; Link: PROC [name1, name2: CHARPtr] RETURNS [RES]; Listen: PROC [s: FD, backlog: INT] RETURNS [RES]; LSeek: PROC [d: FD, offset: INT, whence: Whence] RETURNS [INT]; MInCore: UNSAFE PROC [addr: CHARPtr, len: INT, vec: CHARPtr] RETURNS [RES]; MkDir: PROC [path: CHARPtr, mode: Mode] RETURNS [RES]; MkNod: PROC [path: CHARPtr, mode: Mode, dev: INT] RETURNS [RES]; MMap: UNSAFE PROC [addr: RawVM, nbytes: CARD, prot: Protections, flags: MMapFlags, d: FD, offset: CARD] RETURNS [RES]; <> <> <> MUnmap: UNSAFE PROC [addr: RawVM, nbytes: CARD] RETURNS [RES]; <> <> <> <> <<>> <> <<>> MProtect: UNSAFE PROC [addr: RawVM, nbytes: CARD, prot: Protections] RETURNS [RES]; <> <<>> MSync: UNSAFE PROC [addr: RawVM, nbytes: CARD, flags: MSyncFlags] RETURNS [RES]; <> <> <> <> <> Open: PROC [path: CHARPtr, flags: FileFlags, mode: Mode] RETURNS [FD]; <> <<>> Poll: UNSAFE PROC [fds: POINTER TO PollFD, nfds: CARD, timeout: INT] RETURNS [selected: INT]; <> <> <> <<>> Profil: UNSAFE PROC[buf: CHARPtr, bufSize: INT, offset: INT, scale: INT] RETURNS [RES]; <<>> <> <<>> PutMsg: PROC [fd: FD, ctlPtr, dataPtr: StrBufPtr, flags: RSFlags] RETURNS [RES]; <<>> <> Read: UNSAFE PROC [d: FD, buf: CHARPtr, nBytes: INT] RETURNS [INT]; ReadV: UNSAFE PROC [d: FD, iov: IOVecPtr, iovCnt: INT] RETURNS [INT]; ReadLink: UNSAFE PROC [path: CHARPtr, buf: CHARPtr, bufSize: INT] RETURNS [INT]; <> Recv: UNSAFE PROC [fd: FD, buf: CHARPtr, len: INT, flags: MsgFlags] RETURNS [INT]; RecvFrom: UNSAFE PROC [fd: FD, buf: CHARPtr, len: INT, flags: MsgFlags, from: SockAddrPtr, fromLen: INTPtr] RETURNS [INT]; <> Rename: PROC [from, to: CHARPtr] RETURNS [RES]; RmDir: PROC [path: CHARPtr] RETURNS [RES]; <