|
|
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 - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Unix_Status_Buffer, seg_04b97c
└─⟦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 0x21750bba28684367b66cb 0x42a00088462060003