UnixStringFromRope:
PROC [rope: Rope.
ROPE]
RETURNS [
REF
TEXT] ~ {
len: INT ← rope.Length[];
rtn: REF TEXT ← RefText.New[len+1];
[] ← RefText.AppendRope[to: rtn, from: rope];
[] ← RefText.AppendChar[to: rtn, from: '\000];
RETURN[rtn];
};
Whence:
TYPE ~
MACHINE
DEPENDENT {set(0), incr(1), xtnd(2), (
CARD.
LAST)};
from /usr/include/sys/file.h
StatRecord:
TYPE ~
MACHINE
DEPENDENT
RECORD [
dev: DevT, -- device inode resides on
ino: InoT, -- this inode's number
mode: UShort, -- protection
nlink: Short, -- number of hard links to the file
uid: Short, -- user ID of owner
gid: Short, -- group ID of owner
rdev: DevT, -- the device type, for inode that is device
size: OffT, -- total size of file, in bytes
atime: TimeT, -- file last access time
spare1: Int,
mtime: TimeT, -- file last modify time
spare2: Int,
ctime: TimeT, -- file last status change time
spare3: Int,
blksize: Long, -- optimal blocksize for file system i/o ops
blocks: Long, -- actual number of blocks allocated
spare4: ARRAY [0..2) OF Long
];
from /usr/include/sys/stat.h