Node:BindingType, Next:BitSizeOf, Previous:Binding, Up:Reference
(Under construction.)
type UnixTimeType = LongInt; BindingType = {@@packed} record Bound : Boolean; Force : Boolean; { Can be set to allow binding to directories or inaccessible files } Extensions_Valid: Boolean; Readable : Boolean; Writable : Boolean; Executable : Boolean; Existing : Boolean; { Binding points to an existing file } Directory : Boolean; { Binding points to an existing directory;Existing
is False then } Special : Boolean; { Binding points to an existing special file (device, pipe, socket, etc.);Existing
is False then } SymLink : Boolean; { Binding points to a symbolic link } 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 : Integer; { Unix INode number } 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 (Binding_Name_Length) end;
(@@ Currently, in GPC, BindingType is not actually packed.)
The fields Bound
and Name
are required by Extended
Pascal.
Binding_Name_Length
is an implementation-defined constant.
BindingType
is an ISO 10206 Extended Pascal extension.