type
UnixTimeType = LongInt;
BindingType = packed record
Bound,
Force, { Can be set to allow binding to
directories or inaccessible files }
Extensions_Valid,
Readable,
Writable,
Executable,
Existing, { Binding points to an existing file }
Directory, { Binding points to an existing
directory; Existing is False
in this case }
Special, { Binding points to an existing
special file (device, pipe, socket,
etc.); Existing is False in
this case }
SymLink: Boolean; { Binding points to a symbolic link }
Size: FileSizeType; { Size of file, or -1 if unknown }
AccessTime, { Time of last access }
ModificationTime, { Time of last modification }
ChangeTime: UnixTimeType; { Time of last change }
User, { User ID of owner }
Group, { Group ID of owner }
Mode, { Access permissions, cf. ChMod }
Device, { Device the file is on }
INode, { Unix INode number }
Links: Integer; { Number of hard links }
TextBinary: Boolean; { Open a Text file in binary mode }
Handle: Integer; { Can be set to bind a Pascal file to
a given file handle }
CloseFlag: Boolean; { If Handle is used, tell whether to
close it when file is closed }
Name: String (BindingNameLength)
end;
BindingNameLength is an implementation-defined constant.
BindingType is an ISO 10206 Extended Pascal extension. The fields Bound and Name are required by Extended Pascal, the other ones are GNU Pascal extensions.