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.