|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Unix_Status_Buffer, seg_0509ab
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with System; with Unchecked_Conversion; with File_Names; package Unix_Status_Buffer is type Formats is (S_Ififo, -- fifo S_Ifchr, -- character special S_Ifdir, -- directory S_Ifblk, -- block special S_Ifreg, -- regular S_Iflnk, -- symbolic link S_Ifsock); -- socket for Formats use (1, 2, 4, 6, 8, 10, 12); type Mode_Rec is record S_Inmod : Boolean; -- normal mode S_Ixmod : Boolean; -- extended mode S_Ijrnl : Boolean; -- journalled S_Ixacl : Boolean; -- extended ACL S_Itcb : Boolean; -- Trusted Computing Base S_Itp : Boolean; -- Trusted Process S_Ifmt : Formats; -- type of file S_Isuid : Boolean; -- set user id on execution S_Isgid : Boolean; -- set group id on execution S_Isvtx : Boolean; -- save text even after use S_Iread : Boolean; -- read permission, owner S_Iwrite : Boolean; -- write permission, owner S_Iexec : Boolean; -- execute/search permission, owner S_Irgrp : Boolean; -- read permission, group S_Iwrgrp : Boolean; -- write permission, group S_Ixgrp : Boolean; -- execute/search permission, group S_Iroth : Boolean; -- read permission, other S_Iwroth : Boolean; -- write permission, other S_Ixoth : Boolean; -- execute/search permission, other end record; for Mode_Rec use record S_Inmod at 0 range 0 .. 0; S_Ixmod at 0 range 1 .. 1; S_Ijrnl at 0 range 5 .. 5; S_Ixacl at 0 range 6 .. 6; S_Itcb at 0 range 7 .. 7; S_Itp at 0 range 8 .. 8; S_Ifmt at 0 range 16 .. 19; S_Isuid at 0 range 20 .. 20; S_Isgid at 0 range 21 .. 21; S_Isvtx at 0 range 22 .. 22; S_Iread at 0 range 23 .. 23; S_Iwrite at 0 range 24 .. 24; S_Iexec at 0 range 25 .. 25; S_Irgrp at 0 range 26 .. 26; S_Iwrgrp at 0 range 27 .. 27; S_Ixgrp at 0 range 28 .. 28; S_Iroth at 0 range 29 .. 29; S_Iwroth at 0 range 30 .. 30; S_Ixoth at 0 range 31 .. 31; end record; for Mode_Rec'Size use 4 * System.Storage_Unit; type A_Mode_Rec is access Mode_Rec; type Status_Buffer is record Dev : Integer; -- ID of device containing a directory Ino : Integer; -- File serial number Mode : Mode_Rec; -- File mode Nlink : Short_Integer; -- Number of links Uid : Integer; -- User ID of the file's owner Gid : Integer; -- Group ID of the file's group Rdev : Integer; -- ID of device Size : Integer; -- File size in bytes Atime : Integer; -- Time of last access Spare1 : Integer; Mtime : Integer; -- Time of last data modification Spare2 : Integer; Ctime : Integer; -- Time of last file status change Spare3 : Integer; Blksize : Integer; -- Size of block in file Blocks : Integer; -- Actual number of blocks allocated Vfstype : Integer; -- Type of fs Vfs : Integer; -- Vfs number Typ : Integer; -- Vnode type Gen : Integer; -- Inode generation number Flag : Integer; -- Flag word Rsrvd1 : Integer; -- Reserved Rsrvd2 : Integer; -- Reserved Acces : Short_Integer; -- Process' access to file Spare4_1, Spare4_2, Spare4_3, Spare4_4, Spare4_5 : Integer; -- Reserved end record; type A_Status_Buffer is access Status_Buffer; function To_Stat is new Unchecked_Conversion (System.Address, A_Status_Buffer); subtype Permission_Integer is Integer; -- Unix systems represent protection bits differently, but type -- supplied to system calls is always C's 'int' Allow_Read_Write : constant Permission_Integer := 8#666#; -- -rw-rw-rw- function To_Permission (M : Mode_Rec) return File_Names.Permission; function To_Permission_Int (P : File_Names.Permission) return Permission_Integer; function Is_Directory (Stat_Buf : Status_Buffer) return Boolean; end Unix_Status_Buffer;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1d rec1=00 rec2=01 rec3=030 [0x01] rec0=16 rec1=00 rec2=02 rec3=028 [0x02] rec0=19 rec1=00 rec2=03 rec3=050 [0x03] rec0=16 rec1=00 rec2=04 rec3=012 [0x04] rec0=10 rec1=00 rec2=05 rec3=000 tail 0x2175803fe878e7992f507 0x42a00088462060003