mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-17 07:19:37 +02:00
2860 lines
84 KiB
XML
2860 lines
84 KiB
XML
<?xml version="1.0" encoding="ISO8859-1"?>
|
|
<fpdoc-descriptions>
|
|
<package name="rtl">
|
|
|
|
<!--
|
|
====================================================================
|
|
Unix
|
|
====================================================================
|
|
-->
|
|
|
|
<module name="Unix">
|
|
<short>Extended Unix functionality.</short>
|
|
<descr>
|
|
</descr>
|
|
|
|
<!-- unresolved type reference Visibility: default -->
|
|
<element name="UnixUtil">
|
|
<short>Various unit utility routines.</short>
|
|
</element>
|
|
|
|
<!-- unresolved type reference Visibility: default -->
|
|
<element name="BaseUnix">
|
|
<short>Basic unix functionality.</short>
|
|
</element>
|
|
|
|
<!-- unresolved type reference Visibility: default -->
|
|
<element name="UnixType">
|
|
<short>Basic unix types.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cInt8">
|
|
<short>C type: 8 bits sized, signed integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cUInt8">
|
|
<short>C type: 8 bits sized, unsigned integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cUInt16">
|
|
<short>C type: 16 bits sized, unsigned integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cInt16">
|
|
<short>C type: 16 bits sized, signed integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cInt32">
|
|
<short>C type: 32 bits sized, signed integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cUInt32">
|
|
<short>C type: 32 bits sized, unsigned integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cInt64">
|
|
<short>C type: 64 bits sized, signed integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cUInt64">
|
|
<short>C type: 64 bits sized, unsigned integer.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cuchar">
|
|
<short>C type: unsigned character</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cInt">
|
|
<short>C type: integer (natural size)</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cUInt">
|
|
<short>C type: unsigned integer (natural size)</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cLong">
|
|
<short>C type: long signed integer (double sized)</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cuLong">
|
|
<short>C type: long unsigned integer (double sized)</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cshort">
|
|
<short>C type: short signed integer (half sized)</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="cushort">
|
|
<short>C type: short unsigned integer (half sized)</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pcInt">
|
|
<short>Pointer to <link id="cInt"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pcUInt">
|
|
<short>Pointer to <link id="cUInt"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pcLong">
|
|
<short>Pointer to <link id="cLong"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pculong">
|
|
<short>Pointer to <link id="cuLong"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pcshort">
|
|
<short>Pointer to <link id="cShort"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pcushort">
|
|
<short>Pointer to <link id="cuShort"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="dev_t">
|
|
<short>Device descriptor type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TDev">
|
|
<short>Alias for <link id="dev_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pDev">
|
|
<short>Pointer to <link id="TDev"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="gid_t">
|
|
<short>Group ID type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TGid">
|
|
<short>Alias for <link id="gid_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pGid">
|
|
<short>Pointer to <link id="TGid"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="ino_t">
|
|
<short>Inode type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TIno">
|
|
<short>Alias for <link id="ino_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pIno">
|
|
<short>Pointer to <link id="TIno"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="mode_t">
|
|
<short>Inode mode type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TMode">
|
|
<short>Alias for <link id="mode_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pMode">
|
|
<short>Pointer to <link id="TMode"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="nlink_t">
|
|
<short>Number of links type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TnLink">
|
|
<short>Alias for <link id="nlink_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pnLink">
|
|
<short>Pointer to <link id="TnLink"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="off_t">
|
|
<short>Offset type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TOff">
|
|
<short>Alias for <link id="off_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pOff">
|
|
<short>Pointer to <link id="TOff"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pid_t">
|
|
<short>Process ID type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TPid">
|
|
<short>Alias for <link id="pid_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pPid">
|
|
<short>Pointer to <link id="TPid"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="size_t">
|
|
<short>Size specification type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TSize">
|
|
<short>Alias for <link id="size_t"/> type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pSize">
|
|
<short>Pointer to <link id="TSize"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="ssize_t">
|
|
<short>Small size type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TsSize">
|
|
<short>Alias for <link id="ssize_t"/> type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="psSize">
|
|
<short>Pointer to <link id="TsSize"/> type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="uid_t">
|
|
<short>User ID type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TUid">
|
|
<short>Alias for <link id="uid_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pUid">
|
|
<short>Pointer to <link id="TUid"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="clock_t">
|
|
<short>Clock ticks type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TClock">
|
|
<short>Alias for <link id="clock_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pClock">
|
|
<short>Pointer to <link id="TClock"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="time_t">
|
|
<short>Time span type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TTime">
|
|
<short>Alias for <link id="TTime"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pTime">
|
|
<short>Pointer to <link id="TTime"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="ptime_t">
|
|
<short>Pointer to <link id="time_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="socklen_t">
|
|
<short>Socket address length type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TSocklen">
|
|
<short>Alias for <link id="socklen_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pSocklen">
|
|
<short>Pointer to <link id="TSockLen"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="timeval">
|
|
<short>Time specification type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="ptimeval">
|
|
<short>Pointer to <link id="timeval"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TTimeVal">
|
|
<short>Alias for <link id="timeval"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="timespec">
|
|
<short>Short time specification type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="ptimespec">
|
|
<short>Pointer to <link id="timespec"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="Ttimespec">
|
|
<short>Alias for <link id="TimeSpec"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pthread_mutex_t">
|
|
<short>Thread mutex type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pthread_cond_t">
|
|
<short>Thread conditional variable type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="pthread_t">
|
|
<short>Posix thread type.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="ARG_MAX">
|
|
<short>Maximum number of arguments to a program.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="NAME_MAX">
|
|
<short>Maximum filename length.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="PATH_MAX">
|
|
<short>Maximum pathname length.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SYS_NMLN">
|
|
<short>Max system name length.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SIG_MAXSIG">
|
|
<short>Maximum system signal number.</short>
|
|
</element>
|
|
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Prio_Process">
|
|
<short><link id="fpGetPriority"/> option: Get process priority.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Prio_PGrp">
|
|
<short><link id="fpGetPriority"/> option: Get process group priority.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Prio_User">
|
|
<short><link id="fpGetPriority"/> option: Get user priority.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Seek_set">
|
|
<short>Seek option: Set absolute position.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Seek_Cur">
|
|
<short>Seek option: Set position relative to current position.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Seek_End">
|
|
<short>Seek option: Set position relative to end of file.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Accmode">
|
|
<short>Bitmask to determine access mode in open flags.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_RdOnly">
|
|
<short>File open mode: Read only</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_WrOnly">
|
|
<short>File open mode: Write only</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_RdWr">
|
|
<short>File open mode: Read/Write</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Creat">
|
|
<short>File open mode: Create if file does not yet exist.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Excl">
|
|
<short>File open mode: Open exclusively</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_NoCtty">
|
|
<short>File open mode: No TTY control.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Trunc">
|
|
<short>File open mode: Truncate file to length 0</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Append">
|
|
<short>File open mode: Append to file</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_NonBlock">
|
|
<short>File open mode: Open in non-blocking mode</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_NDelay">
|
|
<short>File open mode: Alias for <link id="Open_NonBlock"/></short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Sync">
|
|
<short>File open mode: Write to disc at once</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Direct">
|
|
<short>File open mode: Minimize caching effects</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_LargeFile">
|
|
<short>File open mode: Open for 64-bit I/O</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_Directory">
|
|
<short>File open mode: File must be directory.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Open_NoFollow">
|
|
<short>File open mode: Fail if file is symbolic link.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Wait_NoHang">
|
|
<short><link id="#rtl.baseunix.fpWaitPID"/>: Do not wait</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Wait_UnTraced">
|
|
<short><link id="#rtl.baseunix.fpWaitPID"/>: Also report stopped but untraced processes</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Wait_Any">
|
|
<short><link id="#rtl.baseunix.fpWaitPID"/>: Wait on any process</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Wait_MyPGRP">
|
|
<short><link id="#rtl.baseunix.fpWaitPID"/>: Wait processes from current process group</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="Wait_Clone">
|
|
<short><link id="#rtl.baseunix.fpWaitPID"/>: Wait on clone processes only.</short>
|
|
</element>
|
|
|
|
|
|
<element name="STAT_IFMT">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: File type bit mask</short>
|
|
</element>
|
|
<element name="STAT_IFSOCK">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Socket</short>
|
|
</element>
|
|
<element name="STAT_IFLNK">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Link</short>
|
|
</element>
|
|
<element name="STAT_IFREG">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Regular file</short>
|
|
</element>
|
|
<element name="STAT_IFBLK">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Block device</short>
|
|
</element>
|
|
<element name="STAT_IFDIR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Directory</short>
|
|
</element>
|
|
<element name="STAT_IFCHR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Character device</short>
|
|
</element>
|
|
<element name="STAT_IFIFO">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: FIFO</short>
|
|
</element>
|
|
<element name="STAT_ISUID">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: UID bit set</short>
|
|
</element>
|
|
<element name="STAT_ISGID">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: GID bit set</short>
|
|
</element>
|
|
<element name="STAT_ISVTX">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Sticky bit set</short>
|
|
</element>
|
|
<element name="STAT_IRWXO">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Other permission bits mask</short>
|
|
</element>
|
|
<element name="STAT_IROTH">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Other read permission</short>
|
|
</element>
|
|
<element name="STAT_IWOTH">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Other write permission</short>
|
|
</element>
|
|
<element name="STAT_IXOTH">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Others execute permission</short>
|
|
</element>
|
|
<element name="STAT_IRWXG">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Group permission bits mask</short>
|
|
</element>
|
|
<element name="STAT_IRGRP">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Group read permission</short>
|
|
</element>
|
|
<element name="STAT_IWGRP">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Group write permission</short>
|
|
</element>
|
|
<element name="STAT_IXGRP">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Others execute permission</short>
|
|
</element>
|
|
<element name="STAT_IRWXU">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Owner permission bits mask</short>
|
|
</element>
|
|
<element name="STAT_IRUSR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Owner read permission</short>
|
|
</element>
|
|
<element name="STAT_IWUSR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Owner write permission</short>
|
|
</element>
|
|
<element name="STAT_IXUSR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Others execute permission</short>
|
|
</element>
|
|
|
|
<element name="fs_old_ext2">
|
|
<short>File system type (<link id="StatFS"/>): (ext2) Old second extended</short>
|
|
</element>
|
|
<element name="fs_ext2">
|
|
<short>File system type (<link id="StatFS"/>): (ext2) Second extended</short>
|
|
</element>
|
|
<element name="fs_ext">
|
|
<short>File system type (<link id="StatFS"/>): (ext) Extended</short>
|
|
</element>
|
|
<element name="fs_iso">
|
|
<short>File system type (<link id="StatFS"/>): ISO 9660</short>
|
|
</element>
|
|
<element name="fs_minix">
|
|
<short>File system type (<link id="StatFS"/>): Minix</short>
|
|
</element>
|
|
<element name="fs_minix_30">
|
|
<short>File system type (<link id="StatFS"/>): Minix 3.0</short>
|
|
</element>
|
|
<element name="fs_minux_V2">
|
|
<short>File system type (<link id="StatFS"/>): Minix V2</short>
|
|
</element>
|
|
<element name="fs_msdos">
|
|
<short>File system type (<link id="StatFS"/>): MSDOS (FAT)</short>
|
|
</element>
|
|
<element name="fs_nfs">
|
|
<short>File system type (<link id="StatFS"/>): NFS </short>
|
|
</element>
|
|
<element name="fs_proc">
|
|
<short>File system type (<link id="StatFS"/>): PROC fs</short>
|
|
</element>
|
|
<element name="fs_xia">
|
|
<short>File system type (<link id="StatFS"/>): XIA</short>
|
|
</element>
|
|
|
|
<element name="MAP_PRIVATE">
|
|
<short><link id="FpMMap"/> map type: Changes are private</short>
|
|
</element>
|
|
<element name="MAP_ANONYMOUS">
|
|
<short><link id="FpMMap"/> map type: Don't use a file</short>
|
|
</element>
|
|
<element name="MAP_GROWSDOWN">
|
|
<short><link id="FpMMap"/> option: Memory grows downward (like a stack)</short>
|
|
</element>
|
|
<element name="MAP_DENYWRITE">
|
|
<short><link id="FpMMap"/> option: Ignored.</short>
|
|
</element>
|
|
<element name="MAP_EXECUTABLE">
|
|
<short><link id="FpMMap"/> option: Ignored.</short>
|
|
</element>
|
|
<element name="MAP_LOCKED">
|
|
<short><link id="FpMMap"/> option: lock the pages in memory.</short>
|
|
</element>
|
|
<element name="MAP_NORESERVE">
|
|
<short><link id="FpMMap"/> option: Do not reserve swap pages for this memory.</short>
|
|
</element>
|
|
<element name="MAP_SHARED">
|
|
<short><link id="FpMMap"/> map type: Share changes</short>
|
|
</element>
|
|
<element name="MAP_TYPE">
|
|
<short><link id="FpMMap"/> map type: Bitmask for type of mapping</short>
|
|
</element>
|
|
<element name="MAP_FIXED">
|
|
<short><link id="FpMMap"/> map type: Interpret addr exactly</short>
|
|
</element>
|
|
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="IOCtl_TCGETS">
|
|
<short>IOCTL call number: get Terminal Control settings</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_NOCLDSTOP">
|
|
<short>Sigaction options: Do not receive notification when child processes stop</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_NOCLDWAIT">
|
|
<short>Sigaction options: ?</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_SIGINFO">
|
|
<short>Sigaction options: The signal handler takes 3 arguments, not one.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_SHIRQ">
|
|
<short>Sigaction options: ?</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_STACK">
|
|
<short>Sigaction options: Call the signal handler on an alternate signal stack.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_RESTART">
|
|
<short>Sigaction options: Provide behaviour compatible with BSD signal semantics</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_INTERRUPT">
|
|
<short>Sigaction options: ?</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_NOMASK">
|
|
<short>Sigaction options: Do not prevent the signal from being received when it is handled.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SA_ONESHOT">
|
|
<short>Sigaction options: Restore the signal action to the default state.</short>
|
|
</element>
|
|
|
|
<element name="SIG_BLOCK">
|
|
<short>Sigprocmask flags: Add signals to the set of blocked signals.</short>
|
|
</element>
|
|
<element name="SIG_UNBLOCK">
|
|
<short>Sigprocmask flags: Remove signals from the set set of blocked signals.</short>
|
|
</element>
|
|
<element name="SIG_SETMASK">
|
|
<short>Sigprocmask flags: Set of blocked signals is given.</short>
|
|
</element>
|
|
<element name="SIG_DFL">
|
|
<short>Signal handler: Default signal handler</short>
|
|
</element>
|
|
<element name="SIG_IGN">
|
|
<short>Signal handler: Ignore signal</short>
|
|
</element>
|
|
<element name="SIG_ERR">
|
|
<short>Signal handler: error</short>
|
|
</element>
|
|
|
|
<element name="SIGHUP">
|
|
<short>Signal: HUP (Hangup)</short>
|
|
</element>
|
|
<element name="SIGINT">
|
|
<short>Signal: INT (Interrupt)</short>
|
|
</element>
|
|
<element name="SIGQUIT">
|
|
<short>Signal: QUIT</short>
|
|
</element>
|
|
<element name="SIGILL">
|
|
<short>Signal: ILL (Illegal instruction)</short>
|
|
</element>
|
|
<element name="SIGTRAP">
|
|
<short>Signal: TRAP (Trace trap)</short>
|
|
</element>
|
|
<element name="SIGABRT">
|
|
<short>Signal: ABRT (Abort)</short>
|
|
</element>
|
|
<element name="SIGIOT">
|
|
<short>Signal: IOT (IOT trap)</short>
|
|
</element>
|
|
<element name="SIGBUS">
|
|
<short>Signal: BUS (bus error)</short>
|
|
</element>
|
|
<element name="SIGFPE">
|
|
<short>Signal: FPE (Floating point error)</short>
|
|
</element>
|
|
<element name="SIGKILL">
|
|
<short>Signal: KILL (unblockable)</short>
|
|
</element>
|
|
<element name="SIGUSR1">
|
|
<short>Signal: USR1 (User-defined signal 1)</short>
|
|
</element>
|
|
<element name="SIGSEGV">
|
|
<short>Signal: SEGV (Segmentation violation)</short>
|
|
</element>
|
|
<element name="SIGUSR2">
|
|
<short>Signal: USR2 (User-defined signal 2)</short>
|
|
</element>
|
|
<element name="SIGPIPE">
|
|
<short>Signal: PIPE (Broken pipe</short>
|
|
</element>
|
|
<element name="SIGALRM">
|
|
<short>Signal: ALRM (Alarm clock)</short>
|
|
</element>
|
|
<element name="SIGTERM">
|
|
<short>Signal: TERM (Terminate)</short>
|
|
</element>
|
|
<element name="SIGSTKFLT">
|
|
<short>Signal: STKFLT (Stack Fault)</short>
|
|
</element>
|
|
<element name="SIGCHLD">
|
|
<short>Signal: CHLD (child status changed)</short>
|
|
</element>
|
|
<element name="SIGCONT">
|
|
<short>Signal: CONT (Continue)</short>
|
|
</element>
|
|
<element name="SIGSTOP">
|
|
<short>Signal: STOP (Stop, unblockable)</short>
|
|
</element>
|
|
<element name="SIGTSTP">
|
|
<short>Signal: TSTP (keyboard stop)</short>
|
|
</element>
|
|
|
|
<element name="SIGTTIN">
|
|
<short>Signal: TTIN (Terminal input, background)</short>
|
|
</element>
|
|
<element name="SIGTTOU">
|
|
<short>Signal: TTOU (Terminal output, background)</short>
|
|
</element>
|
|
<element name="SIGURG">
|
|
<short>Signal: URG (Socket urgent condition)</short>
|
|
</element>
|
|
<element name="SIGXCPU">
|
|
<short>Signal: XCPU (CPU limit exceeded)</short>
|
|
</element>
|
|
<element name="SIGXFSZ">
|
|
<short>Signal: XFSZ (File size limit exceeded)</short>
|
|
</element>
|
|
<element name="SIGVTALRM">
|
|
<short>Signal: VTALRM (Virtual alarm clock)</short>
|
|
</element>
|
|
<element name="SIGPROF">
|
|
<short>Signal: PROF (Profiling alarm)</short>
|
|
</element>
|
|
<element name="SIGWINCH">
|
|
<short>Signal: WINCH (Window/Terminal size change)</short>
|
|
</element>
|
|
<element name="SIGIO">
|
|
<short>Signal: IO (I/O operation possible)</short>
|
|
</element>
|
|
<element name="SIGPOLL">
|
|
<short>Signal: POLL (Pollable event) </short>
|
|
</element>
|
|
<element name="SIGPWR">
|
|
<short>Signal: PWR (power failure restart)</short>
|
|
</element>
|
|
<element name="SIGUNUSED">
|
|
<short>Signal: Unused</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="SI_PAD_SIZE">
|
|
<short>Signal information pad size.</short>
|
|
</element>
|
|
|
|
<element name="tfpreg">
|
|
<short>Record describing floating point register in signal handler.</short>
|
|
</element>
|
|
<element name="tfpreg.significand">
|
|
<short>Decimal part of floating point value</short>
|
|
</element>
|
|
<element name="tfpreg.exponent">
|
|
<short>Exponent of floating point value</short>
|
|
</element>
|
|
|
|
<element name="pfpstate">
|
|
<short>Pointer to <link id="tfpstate"/> record.</short>
|
|
</element>
|
|
<element name="tfpstate">
|
|
<short>Record describing floating point unit in signal handler.</short>
|
|
</element>
|
|
<element name="tfpstate.cw">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.sw">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.tag">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.ipoff">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.cssel">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.dataoff">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.datasel">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.st">
|
|
<short></short>
|
|
</element>
|
|
<element name="tfpstate.status">
|
|
<short></short>
|
|
</element>
|
|
|
|
|
|
<element name="SigSet">
|
|
<short>Signal set type</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="sigset_t">
|
|
<short>Signal set type</short>
|
|
</element>
|
|
|
|
<!-- pointer type Visibility: default -->
|
|
<element name="PSigSet">
|
|
<short>Pointer to <link id="SigSet"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="psigset_t">
|
|
<short>Pointer to <link id="sigset_t"/> type.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TSigSet">
|
|
<short>Alias for <link id="SigSet"/> type.</short>
|
|
</element>
|
|
|
|
<!-- pointer type Visibility: default -->
|
|
<element name="PSigInfoRec">
|
|
<short>Pointer to <link id="SigInfoRec"/> record type.</short>
|
|
</element>
|
|
|
|
<!-- record type Visibility: default -->
|
|
<element name="SigInfoRec">
|
|
<short>Record containing signal information.</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="SigInfoRec.si_signo">
|
|
<short>Signal number.</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="SigInfoRec.si_errno">
|
|
<short>?</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="SigInfoRec.si_code">
|
|
<short>?</short>
|
|
</element>
|
|
|
|
<!-- procedure type Visibility: default -->
|
|
<element name="SignalHandler">
|
|
<short>Simple signal handler prototype</short>
|
|
</element>
|
|
|
|
<!-- pointer type Visibility: default -->
|
|
<element name="PSignalHandler">
|
|
<short>Pointer to <link id="SignalHandler"/> type.</short>
|
|
</element>
|
|
|
|
<element name="SignalRestorer">
|
|
<short>Signal restorer function prototype</short>
|
|
</element>
|
|
<element name="PSignalrestorer">
|
|
<short>Pointer to <link id="SignalRestorer"/> type</short>
|
|
</element>
|
|
|
|
<!-- procedure type Visibility: default -->
|
|
<element name="TSigAction">
|
|
<short>Extended signal handler prototype.</short>
|
|
</element>
|
|
|
|
<!-- record type Visibility: default -->
|
|
<element name="SigActionRec">
|
|
<short>Record used in <link id="#rtl.baseunix.fpSigAction"/> call.</short>
|
|
</element>
|
|
<element name="SigActionRec.sa_handler">
|
|
<short>Funcion called when signal is triggered.</short>
|
|
</element>
|
|
<element name="SigActionRec.Sa_Mask">
|
|
<short>Signal mask.</short>
|
|
</element>
|
|
<element name="SigActionRec.SA_FLAGS">
|
|
<short>Flags for SigAction</short>
|
|
</element>
|
|
<element name="SigActionRec.SA_RESTORER">
|
|
<short>Obsolete, don't use</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TSigActionRec">
|
|
<short>Alias for <link id="SigActionRec"/> record type.</short>
|
|
</element>
|
|
|
|
<!-- pointer type Visibility: default -->
|
|
<element name="PSigActionRec">
|
|
<short>Pointer to <link id="SigActionRec"/> record type.</short>
|
|
</element>
|
|
|
|
<!-- record type Visibility: default -->
|
|
<element name="timezone">
|
|
<short>Record describing a timezone</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="timezone.minuteswest">
|
|
<short>Minutes west of GMT</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="timezone.dsttime">
|
|
<short>Daylight savings time</short>
|
|
</element>
|
|
|
|
<!-- pointer type Visibility: default -->
|
|
<element name="ptimezone">
|
|
<short>Pointer to <link id="TimeZone"/> record.</short>
|
|
</element>
|
|
|
|
<!-- alias type Visibility: default -->
|
|
<element name="TTimeZone">
|
|
<short>Alias for <link id="TimeZone"/> record.</short>
|
|
</element>
|
|
|
|
<element name="S_IFMT">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: File type bit mask</short>
|
|
</element>
|
|
<element name="S_IFSOCK">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Socket</short>
|
|
</element>
|
|
<element name="S_IFLNK">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Link</short>
|
|
</element>
|
|
<element name="S_IFREG">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Regular file</short>
|
|
</element>
|
|
<element name="S_IFBLK">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Block device</short>
|
|
</element>
|
|
<element name="S_IFDIR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Directory</short>
|
|
</element>
|
|
<element name="S_IFCHR">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Character device</short>
|
|
</element>
|
|
<element name="S_IFIFO">
|
|
<short>File (<link id="#rtl.baseunix.stat"/> record) mode: FIFO</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="P_IN">
|
|
<short>Input file descriptor of pipe pair.</short>
|
|
</element>
|
|
|
|
<!-- constant Visibility: default -->
|
|
<element name="P_OUT">
|
|
<short>Output file descriptor of pipe pair.</short>
|
|
</element>
|
|
|
|
|
|
<element name="LOCK_SH">
|
|
<short><link id="FpFLock"/> Shared lock</short>
|
|
</element>
|
|
<element name="LOCK_EX">
|
|
<short><link id="FpFLock"/> Exclusive lock</short>
|
|
</element>
|
|
<element name="LOCK_UN">
|
|
<short><link id="FpFLock"/> unlock</short>
|
|
</element>
|
|
<element name="LOCK_NB">
|
|
<short><link id="FpFLock"/> Non-blocking operation</short>
|
|
</element>
|
|
|
|
<element name="PGlob">
|
|
<short>Pointer to <link id="TGlob"/> record.</short>
|
|
</element>
|
|
<element name="TGlob">
|
|
<short>Record containing one entry in the result of <link id="Glob"/></short>
|
|
</element>
|
|
<element name="TGlob.Name">
|
|
<short>Filename matching the search criteria</short>
|
|
</element>
|
|
<element name="TGlob.Next">
|
|
<short>Next element in result of <var>Glob</var> call.</short>
|
|
</element>
|
|
|
|
<element name="Tpipe">
|
|
<short>Array describing a pipe pair of filedescriptors.</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="tzdaylight">
|
|
<short>Indicates whether daylight savings time is active.</short>
|
|
</element>
|
|
|
|
<!-- variable Visibility: default -->
|
|
<element name="tzname">
|
|
<short>Timezone name.</short>
|
|
</element>
|
|
|
|
<element name="PROT_READ">
|
|
<short><link id="FpMMap"/> memory access: page can be read</short>
|
|
</element>
|
|
<element name="PROT_WRITE">
|
|
<short><link id="FpMMap"/> memory access: page can be written</short>
|
|
</element>
|
|
<element name="PROT_EXEC">
|
|
<short><link id="FpMMap"/> memory access: page can be executed</short>
|
|
</element>
|
|
<element name="PROT_NONE">
|
|
<short><link id="FpMMap"/> memory access: page can not be accessed</short>
|
|
</element>
|
|
|
|
|
|
<!-- enumeration type Visibility: default -->
|
|
<element name="TFSearchOption">
|
|
<short>Describes the search strategy used by <link id="FSearch"/></short>
|
|
<seealso>
|
|
<link id="FSearch"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- enumeration value Visibility: default -->
|
|
<element name="TFSearchOption.NoCurrentDirectory">
|
|
<short>Do not search the current directory unless it is specified in the search path.</short>
|
|
</element>
|
|
|
|
<!-- enumeration value Visibility: default -->
|
|
<element name="TFSearchOption.CurrentDirectoryFirst">
|
|
<short>Search the current directory first, before all directories in the search path.</short>
|
|
</element>
|
|
|
|
<!-- enumeration value Visibility: default -->
|
|
<element name="TFSearchOption.CurrentDirectoryLast">
|
|
<short>Search the current directory last, after all directories in the search path </short>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="GetLocalTimezone">
|
|
<short>Return local timzeone information</short>
|
|
<descr>
|
|
<p>
|
|
<var>GetLocalTimeZone</var> returns the local timezone information. It also
|
|
initializes the <var>TZSeconds</var> variable, which is used to correct the epoch time
|
|
to local time.
|
|
</p>
|
|
<p>
|
|
There should never be any need to call this function directly. It is called by the
|
|
initialization routines of the Linux unit.
|
|
</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="GetTimezoneFile"/>
|
|
<link id="ReadTimezoneFile"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="ReadTimezoneFile">
|
|
<short>Read the timezone file and initialize time routines</short>
|
|
<descr>
|
|
<p>
|
|
<var>ReadTimeZoneFile</var> reads the timezone file <var>fn</var> and initializes
|
|
the local time routines based on the information found there.
|
|
</p>
|
|
<p>
|
|
There should be no need to call this function. The initialization routines
|
|
of the <file>linux</file> unit call this routine at unit startup.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetTimezoneFile"/>
|
|
<link id="GetLocalTimezone"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="GetTimezoneFile">
|
|
<short>Return name of timezone information file</short>
|
|
<descr>
|
|
<p>
|
|
<var>GetTimezoneFile</var> returns the location of the current timezone file.
|
|
The location of file is determined as follows:
|
|
</p>
|
|
<ol>
|
|
<li>If <file>/etc/timezone</file> exists, it is read, and the contents of this
|
|
file is returned. This should work on Debian systems.</li>
|
|
<li>If <file>/usr/lib/zoneinfo/localtime</file> exists, then it is returned.
|
|
(this file is a symlink to the timezone file on SuSE systems)</li>
|
|
<li>If <file>/etc/localtime</file> exists, then it is returned.
|
|
(this file is a symlink to the timezone file on RedHat systems)</li>
|
|
</ol>
|
|
</descr>
|
|
<errors>
|
|
If no file was found, an empty string is returned.
|
|
</errors>
|
|
<seealso>
|
|
<link id="ReadTimezoneFile"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="GetEpochTime">
|
|
<short>Return the current unix time</short>
|
|
<descr>
|
|
<p>
|
|
returns the number of seconds since 00:00:00 gmt, january 1, 1970.
|
|
it is adjusted to the local time zone, but not to DST.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
no errors
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetTime"/>
|
|
</seealso>
|
|
<example file="unixex/ex1"/>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="GetTime">
|
|
<short>Return current system time</short>
|
|
<descr>
|
|
<p>
|
|
Returns the current time of the day, adjusted to local time.
|
|
Upon return, the parameters are filled with
|
|
</p>
|
|
<dl>
|
|
<dt>hour</dt><dd> Hours since 00:00 today.</dd>
|
|
<dt>min</dt><dd> minutes in current hour.</dd>
|
|
<dt>sec</dt><dd> seconds in current minute.</dd>
|
|
<dt>sec100</dt><dd> hundreds of seconds in current second.</dd>
|
|
<dt>msec</dt><dd> milliseconds in current second.</dd>
|
|
<dt>usec</dt><dd> microseconds in current second.</dd>
|
|
</dl>
|
|
</descr>
|
|
<errors>
|
|
None
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetEpochTime"/>
|
|
<link id="GetDate"/>
|
|
<link id="GetDateTime"/>
|
|
</seealso>
|
|
<example file="unixex/ex5"/>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="GetDate">
|
|
<short>Return the system date</short>
|
|
<descr>
|
|
<p>
|
|
Returns the current date. On return, the parameters are filled with
|
|
</p>
|
|
<dl>
|
|
<dt>year</dt><dd> Year (4 digits).</dd>
|
|
<dt>month</dt><dd> Month of the year.</dd>
|
|
<dt>day</dt><dd> Day of the month.</dd>
|
|
</dl>
|
|
</descr>
|
|
<errors>
|
|
None
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetEpochTime"/>
|
|
<link id="GetTime"/>
|
|
<link id="GetDateTime"/>
|
|
<link id="SetTime"/>
|
|
</seealso>
|
|
<example file="unixex/ex6"/>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="GetDateTime">
|
|
<short>Return system date and time</short>
|
|
<descr>
|
|
Returns the current date and time. The time is corrected for the local time
|
|
zone. This procedure is equivalent to the <link id="GetDate"/> and <var>GetTime</var>
|
|
calls.
|
|
</descr>
|
|
<errors>
|
|
None
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetEpochTime"/>
|
|
<link id="GetTime"/>
|
|
<link id="GetDate"/>
|
|
<link id="SetDate"/>
|
|
<link id="SetTime"/>
|
|
</seealso>
|
|
<example file="unixex/ex60"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="SetTime">
|
|
<short>Set the current system time.</short>
|
|
<descr>
|
|
<p>
|
|
<var>SetTime</var> sets the system time to <var>hour</var>, <var>min</var>,
|
|
<var>Sec</var>. This is the kernel time, so it is in GMT. The date is not
|
|
touched. The function returns <var>True</var> if the call was executed corretly,
|
|
<var>False</var> otherwise.
|
|
</p>
|
|
<remark>
|
|
You must be root to execute this call.
|
|
</remark>
|
|
</descr>
|
|
<errors>
|
|
Extended error information can be retrieved with <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetTime"/>
|
|
<link id="SetDate"/>
|
|
<link id="GetDate"/>
|
|
<link id="SetDateTime"/>
|
|
<link id="GetDateTime"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="SetDate">
|
|
<short>Set the current system date.</short>
|
|
<descr>
|
|
<p>
|
|
<var>SetDate</var> sets the system date to <var>year</var>, <var>month</var>,
|
|
<var>day</var>. This is the kernel date, so it is in GMT. The time is not
|
|
touched. The function returns <var>True</var> if the call was executed
|
|
corretly, <var>False</var> otherwise.
|
|
</p>
|
|
<remark>
|
|
You must be root to execute this call.
|
|
</remark>
|
|
</descr>
|
|
<errors>
|
|
Extended error information can be retrieved with <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetDate"/>
|
|
<link id="SetTime"/>
|
|
<link id="GetTime"/>
|
|
<link id="SetDateTime"/>
|
|
<link id="GetDateTime"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="SetDateTime">
|
|
<short>Set the current system date and time</short>
|
|
<descr>
|
|
<p>
|
|
<var>SetDate</var> sets the system date and time to <var>year</var>,
|
|
<var>month</var>, <var>day</var>, <var>hour</var>, <var>min</var>, <var>Sec</var>.
|
|
This is the kernel date/time, so it is in GMT. The time is not
|
|
touched. The function returns <var>True</var> if the call was executed
|
|
corretly, <var>False</var> otherwise.
|
|
</p>
|
|
<remark>
|
|
You must be root to execute this call.
|
|
</remark>
|
|
</descr>
|
|
<errors>
|
|
Extended error information can be retrieved with <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
</errors>
|
|
<seealso>
|
|
<link id="SetDate"/>
|
|
<link id="SetTime"/>
|
|
<link id="GetDate"/>
|
|
<link id="GetTime"/>
|
|
<link id="GetDateTime"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="CreateShellArgV">
|
|
<short>Create an array of null-terminated strings</short>
|
|
<descr>
|
|
<p>
|
|
<var>CreateShellArgV</var> creates an array of 3 <var>PChar</var> pointers that can
|
|
be used as arguments to <var>ExecVE</var> the first elements in the array
|
|
will contain <var>/bin/sh</var>, the second will contain <var>-c</var>, and the third
|
|
will contain <var>prog</var>.
|
|
</p>
|
|
<p>
|
|
The function returns a pointer to this array, of type <var>PPChar</var>.
|
|
</p>
|
|
<p>
|
|
The memory allocated for the array can be disposed of with the <link id="FreeShellArgV"/> function.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="Shell"/>
|
|
<link id="FreeShellArgV"/>
|
|
</seealso>
|
|
<example file="unixex/ex61"/>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="FreeShellArgV">
|
|
<short>Frees the memory allocated by the <link id="CreateShellArgV"/> call.</short>
|
|
<descr>
|
|
<p>
|
|
<var>FreeShellArgV</var> frees the memory which was allocated by the
|
|
<link id="CreateShellArgV"/> call.
|
|
</p>
|
|
<p>
|
|
Do not attempt to free memory with this call which was allocated by some C
|
|
or other library, this will lead to memory corruption.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="CreateShellArgV"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Execv">
|
|
<short>Execute process</short>
|
|
<descr>
|
|
<var>Execv</var> replaces the currently running program with the program, specified in
|
|
<var>path</var>.
|
|
It gives the program the options in <var>args</var>.
|
|
This is a pointer to an array of pointers to null-terminated
|
|
strings. The last pointer in this array should be nil.
|
|
The current environment is passed to the program.
|
|
On success, <var>execv</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="Execvp"/>
|
|
<link id="Execle"/>
|
|
<link id="Execl"/>
|
|
<link id="Execlp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex8"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Execvp">
|
|
<short>Execute process, search path</short>
|
|
<descr>
|
|
<p>
|
|
<var>Execvp</var> replaces the currently running program with the program, specified in
|
|
<var>path</var>. The executable in <var>path</var> is searched in the
|
|
contents of the <var>PATH</var> environment variable, if it isn't
|
|
an absolute filename.
|
|
</p>
|
|
<p>
|
|
It gives the program the options in <var>args</var>.
|
|
This is a pointer to an array of pointers to null-terminated
|
|
strings. The last pointer in this array should be nil.
|
|
The current environment is passed to the program.
|
|
On success, <var>execvp</var> does not return.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="Execv"/>
|
|
<link id="Execle"/>
|
|
<link id="Execl"/>
|
|
<link id="Execlp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex9"/>
|
|
</element>
|
|
|
|
<element name="Execl">
|
|
<short>Execute process (using argument list)</short>
|
|
<descr>
|
|
<var>Execl</var> replaces the currently running program with the program, specified in
|
|
<var>Todo</var>. <var>Todo</var> is split into a command and it's options.
|
|
The executable in <var>Todo</var> is NOT searched in the path.
|
|
The current environment is passed to the program.
|
|
On success, <var>execl</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt>
|
|
<dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt>
|
|
<dd> Not enough memory for kernel, or to split command line.</dd>
|
|
<dt>sys_enotdir</dt>
|
|
<dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt>
|
|
<dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="Execv"/>
|
|
<link id="Execvp"/>
|
|
<link id="Execle"/>
|
|
<link id="Execlp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex10"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Execle">
|
|
<short>Execute process (using argument list, environment)</short>
|
|
<descr>
|
|
<p>
|
|
<var>Execle</var> replaces the currently running program with the program, specified in
|
|
<var>Todo</var>. <var>Todo</var> is split into a command and it's options.
|
|
The executable in <var>Todo</var> is searched in the path, if it isn't
|
|
an absolute filename.
|
|
The environment in <var>ep</var> is passed to the program.
|
|
On success, <var>execle</var> does not return.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt>
|
|
<dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt>
|
|
<dd> Not enough memory for kernel, or to split command line.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="Execv"/>
|
|
<link id="Execvp"/>
|
|
<link id="Execl"/>
|
|
<link id="Execlp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex11"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Execlp">
|
|
<short>Execute process (using argument list, environment; search path)</short>
|
|
<descr>
|
|
<var>Execlp</var> replaces the currently running program with the program, specified in
|
|
<var>path</var>. Path is split into a command and it's options.
|
|
The executable in <var>path</var> is searched in the path, if it isn't
|
|
an absolute filename.
|
|
The current environment is passed to the program.
|
|
On success, <var>execlp</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel, or to split command line.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="Execv"/>
|
|
<link id="Execvp"/>
|
|
<link id="Execle"/>
|
|
<link id="Execl"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex12"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpExecLE">
|
|
<short>Execute process (using argument list, environment)</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpExecLE</var> replaces the currently running program with the program, specified in
|
|
<var>PathName</var>. <var>S</var> is an array of command options.
|
|
The executable in <var>PathName</var> must be an absolute pathname.
|
|
The environment in <var>MyEnv</var> is passed to the program.
|
|
On success, <var>FpExecLE</var> does not return.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt>
|
|
<dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt>
|
|
<dd> Not enough memory for kernel, or to split command line.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="FpExecv"/>
|
|
<link id="FpExecvp"/>
|
|
<link id="FpExecl"/>
|
|
<link id="FpExeclp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex11"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpExecL">
|
|
<short>Execute process (using argument list, environment)</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpExecL</var> replaces the currently running program with the program, specified in
|
|
<var>PathName</var>. <var>S</var> is an array of command options.
|
|
The executable in <var>PathName</var> must be an absolute pathname.
|
|
The current process' environment is passed to the program.
|
|
On success, <var>FpExecL</var> does not return.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt>
|
|
<dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt>
|
|
<dd> Not enough memory for kernel, or to split command line.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="FpExecv"/>
|
|
<link id="FpExecvp"/>
|
|
<link id="FpExecle"/>
|
|
<link id="FpExeclp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex77"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpExecLP">
|
|
<short>Execute process (using argument list, environment; search path)</short>
|
|
<descr>
|
|
<var>FpExecLP</var> replaces the currently running program with the program, specified in
|
|
<var>PathName</var>. <var>S</var> is an array of command options.
|
|
The executable in <var>PathName</var> is searched in the path, if it isn't
|
|
an absolute filename.
|
|
The current environment is passed to the program.
|
|
On success, <var>FpExecLP</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel, or to split command line.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="FpExecv"/>
|
|
<link id="FpExecvp"/>
|
|
<link id="FpExecle"/>
|
|
<link id="FpExecl"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex76"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpExecV">
|
|
<short>Execute process</short>
|
|
<descr>
|
|
<var>FpExecV</var> replaces the currently running program with the program, specified in
|
|
<var>PathName</var>.
|
|
It gives the program the options in <var>args</var>.
|
|
This is a pointer to an array of pointers to null-terminated
|
|
strings. The last pointer in this array should be nil.
|
|
The current environment is passed to the program.
|
|
On success, <var>FpExecV</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="FpExecvp"/>
|
|
<link id="FpExecle"/>
|
|
<link id="FpExecl"/>
|
|
<link id="FpExeclp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex8"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpExecVP">
|
|
<short>Execute process, search path</short>
|
|
<descr>
|
|
<var>FpExecVP</var> replaces the currently running program with the program, specified in
|
|
<var>PathName</var>. The executable in <var>path</var> is searched in the path, if it isn't
|
|
an absolute filename.
|
|
It gives the program the options in <var>args</var>. This is a pointer to an array of pointers to null-terminated
|
|
strings. The last pointer in this array should be nil.
|
|
The current environment is passed to the program.
|
|
On success, <var>execvp</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="FpExecv"/>
|
|
<link id="FpExecle"/>
|
|
<link id="FpExecl"/>
|
|
<link id="FpExeclp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex79"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpExecVPE">
|
|
<short>Execute process, search path using environment</short>
|
|
<descr>
|
|
<var>FpExecVP</var> replaces the currently running program with the program, specified in
|
|
<var>PathName</var>. The executable in <var>path</var> is searched in the path, if it isn't
|
|
an absolute filename.
|
|
It gives the program the options in <var>args</var>. This is a pointer to an array of pointers to null-terminated
|
|
strings. The last pointer in this array should be nil.
|
|
The environment in <var>Env</var> is passed to the program.
|
|
On success, <var>execvp</var> does not return.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eacces</dt>
|
|
<dd> File is not a regular file, or has no execute permission.
|
|
A compononent of the path has no search permission.</dd>
|
|
<dt>sys_eperm</dt><dd> The file system is mounted <i>noexec</i>.</dd>
|
|
<dt>sys_e2big</dt><dd> Argument list too big.</dd>
|
|
<dt>sys_enoexec</dt><dd> The magic number in the file is incorrect.</dd>
|
|
<dt>sys_enoent</dt><dd> The file does not exist.</dd>
|
|
<dt>sys_enomem</dt><dd> Not enough memory for kernel.</dd>
|
|
<dt>sys_enotdir</dt><dd> A component of the path is not a directory.</dd>
|
|
<dt>sys_eloop</dt><dd> The path contains a circular reference (via symlinks).</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
<link id="FpExecv"/>
|
|
<link id="FpExecle"/>
|
|
<link id="FpExecl"/>
|
|
<link id="FpExeclp"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
</seealso>
|
|
<example file="unixex/ex79"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Shell">
|
|
<short>Execute and feed command to system shell </short>
|
|
<descr>
|
|
<var>Shell</var> invokes the bash shell (<file>/bin/sh</file>), and feeds it the
|
|
command <var>Command</var> (using the <var>-c</var> option). The function then waits
|
|
for the command to complete, and then returns the exit
|
|
status of the command, or 127 if it could not complete the <link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
or <link id="#rtl.baseunix.fpexecve">FpExecve</link> calls.
|
|
</descr>
|
|
<errors>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</errors>
|
|
<seealso>
|
|
<link id="POpen"/>
|
|
<link id="FpSystem"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
</seealso>
|
|
<example file="unixex/ex56"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpSystem">
|
|
<short>Execute and feed command to system shell </short>
|
|
<descr>
|
|
<var>Shell</var> invokes the bash shell (<file>/bin/sh</file>), and feeds it the
|
|
command <var>Command</var> (using the <var>-c</var> option). The function then waits
|
|
for the command to complete, and then returns the exit
|
|
status of the command, or 127 if it could not complete the <link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
or <link id="#rtl.baseunix.fpexecve">FpExecve</link> calls.
|
|
</descr>
|
|
<errors>
|
|
Errors are reported in LinuxError.
|
|
</errors>
|
|
<seealso>
|
|
<link id="POpen"/>
|
|
<link id="Shell"/>
|
|
<link id="#rtl.baseunix.FpFork">FpFork</link>
|
|
<link id="#rtl.baseunix.fpexecve">FpExecve</link>
|
|
</seealso>
|
|
<example file="unixex/ex80"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="WaitProcess">
|
|
<short>Wait for process to terminate.</short>
|
|
<descr>
|
|
<p>
|
|
<var>WaitProcess</var> waits for process <var>PID</var> to exit.
|
|
<var>WaitProcess</var> is equivalent to the <link id="#rtl.baseunix.FpWaitPID"/> call:
|
|
</p>
|
|
<code>
|
|
FpWaitPid(PID,@result,0)
|
|
</code>
|
|
<p>
|
|
Handles of Signal interrupts (errno=EINTR), and returns the Exitcode of
|
|
Process <var>PID</var> (>=0) or -Status if it was terminated
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpWaitPID"/>
|
|
<link id="#rtl.baseunix.WTERMSIG"/>
|
|
<link id="#rtl.baseunix.WSTOPSIG"/>
|
|
<link id="#rtl.baseunix.WIFEXITED"/>
|
|
<link id="WIFSTOPPED"/>
|
|
<link id="#rtl.baseunix.WIFSIGNALED"/>
|
|
<link id="W_EXITCODE"/>
|
|
<link id="W_STOPCODE"/>
|
|
<link id="#rtl.baseunix.WEXITSTATUS"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="WIFSTOPPED">
|
|
<short>Check whether the process is currently stopped.</short>
|
|
<descr>
|
|
<var>WIFSTOPPED</var> checks <var>Status</var> and returns <var>true</var>
|
|
if the process is currently stopped. This is only possible if WUNTRACED was
|
|
specified in the options of <link id="#rtl.baseunix.FpWaitPID">FpWaitPID</link>.
|
|
</descr>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpWaitPID"/>
|
|
<link id="WaitProcess"/>
|
|
<link id="#rtl.baseunix.WTERMSIG"/>
|
|
<link id="#rtl.baseunix.WSTOPSIG"/>
|
|
<link id="#rtl.baseunix.WIFEXITED"/>
|
|
<link id="#rtl.baseunix.WIFSIGNALED"/>
|
|
<link id="W_EXITCODE"/>
|
|
<link id="W_STOPCODE"/>
|
|
<link id="#rtl.baseunix.WEXITSTATUS"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="W_EXITCODE">
|
|
<short>Construct an exit status based on an return code and signal.</short>
|
|
<descr>
|
|
<var>W_EXITCODE</var> combines <var>ReturnCode</var> and <var>Signal</var>
|
|
to a status code fit for <var>WaitPid</var>.
|
|
</descr>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpWaitPID"/>
|
|
<link id="WaitProcess"/>
|
|
<link id="#rtl.baseunix.WTERMSIG"/>
|
|
<link id="#rtl.baseunix.WSTOPSIG"/>
|
|
<link id="#rtl.baseunix.WIFEXITED"/>
|
|
<link id="WIFSTOPPED"/>
|
|
<link id="#rtl.baseunix.WIFSIGNALED"/>
|
|
<link id="W_EXITCODE"/>
|
|
<link id="W_STOPCODE"/>
|
|
<link id="#rtl.baseunix.WEXITSTATUS"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="W_STOPCODE">
|
|
<short>Construct an exit status based on a signal.</short>
|
|
<descr>
|
|
<var>W_STOPCODE</var> constructs an exit status based on
|
|
<var>Signal</var>, which will cause <link id="#rtl.baseunix.WIFSIGNALED">WIFSIGNALED</link> to return
|
|
<var>True</var>
|
|
</descr>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpWaitPID"/>
|
|
<link id="WaitProcess"/>
|
|
<link id="#rtl.baseunix.WTERMSIG"/>
|
|
<link id="#rtl.baseunix.WSTOPSIG"/>
|
|
<link id="#rtl.baseunix.WIFEXITED"/>
|
|
<link id="WIFSTOPPED"/>
|
|
<link id="#rtl.baseunix.WIFSIGNALED"/>
|
|
<link id="W_EXITCODE"/>
|
|
<link id="#rtl.baseunix.WEXITSTATUS"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fsync">
|
|
<short>Synchronize file's kernel data with disk.</short>
|
|
<descr>
|
|
<p>
|
|
<var>Fsync</var> synchronizes the kernel data for file <var>fd</var> (the
|
|
cache) with the disk. The call will not return till all file data was
|
|
written to disk.
|
|
</p>
|
|
<p>
|
|
If the call was succesfull, 0 is returned. On failure, a nonzero value is
|
|
returned.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpFLock"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpFlock">
|
|
<short>Lock a file (advisory lock)</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpFLock</var> implements file locking. it sets or removes a lock on the file
|
|
<var>F</var>. F can be of type <var>Text</var> or <var>File</var>, or it can be a linux
|
|
filedescriptor (a longint)
|
|
<var>Mode</var> can be one of the following constants :
|
|
</p>
|
|
<dl>
|
|
<dt>LOCK_SH</dt><dd>sets a shared lock.</dd>
|
|
<dt>LOCK_EX</dt><dd>sets an exclusive lock.</dd>
|
|
<dt>LOCK_UN</dt><dd>unlocks the file.</dd>
|
|
<dt>LOCK_NB</dt><dd>This can be OR-ed together with the other.
|
|
If this is done the application doesn't block when locking.
|
|
</dd>
|
|
</dl>
|
|
<p>
|
|
The function returns zero if successful, a nonzero return value indicates an
|
|
error.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpFcntl"/>
|
|
<link id="FSync"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fStatFS">
|
|
<short>Retrieve filesystem information from a file descriptor.</short>
|
|
<descr>
|
|
<p>
|
|
<var>fStatFS</var> returns in <var>Info</var> information about the filesystem
|
|
on which the file with file descriptor <var>fd</var> resides.
|
|
<var>Info</var> is of type <link id="#rtl.unixtype.TStatfs">TStatFS</link>.
|
|
</p>
|
|
<p>
|
|
The function returns zero if the call was succesful, a nonzero value is
|
|
returned if the call failed.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_enotdir</dt><dd> A component of <var>Path</var> is not a directory.</dd>
|
|
<dt>sys_einval</dt><dd> Invalid character in <var>Path</var>.</dd>
|
|
<dt>sys_enoent</dt><dd> <var>Path</var> does not exist.</dd>
|
|
<dt>sys_eaccess</dt><dd> Search permission is denied for component in<var>Path</var>.</dd>
|
|
<dt>sys_eloop</dt><dd> A circular symbolic link was encountered in <var>Path</var>.</dd>
|
|
<dt>sys_eio</dt><dd> An error occurred while reading from the filesystem.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="StatFS"/>
|
|
<link id="FpLStat"/>
|
|
</seealso>
|
|
<example file="unixex/ex91"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="StatFS">
|
|
<short>Retrieve filesystem information from a path.</short>
|
|
<descr>
|
|
<p>
|
|
<var>StatFS</var> returns in <var>Info</var> information about the filesystem on which the file
|
|
<var>Path</var> resides.
|
|
<var>Info</var> is of type <link id="#rtl.unixtype.TStatfs">TStatFS</link>.
|
|
</p>
|
|
<p>
|
|
The function returns zero if the call was succesful, a nonzero value is
|
|
returned if the call failed.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_enotdir</dt><dd> A component of <var>Path</var> is not a directory.</dd>
|
|
<dt>sys_einval</dt><dd> Invalid character in <var>Path</var>.</dd>
|
|
<dt>sys_enoent</dt><dd> <var>Path</var> does not exist.</dd>
|
|
<dt>sys_eaccess</dt><dd> Search permission is denied for component in<var>Path</var>.</dd>
|
|
<dt>sys_eloop</dt><dd> A circular symbolic link was encountered in <var>Path</var>.</dd>
|
|
<dt>sys_eio</dt><dd> An error occurred while reading from the filesystem.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpStat"/>
|
|
<link id="FpLStat"/>
|
|
</seealso>
|
|
<example file="unixex/ex91"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="SelectText">
|
|
<short>Wait for event on text file.</short>
|
|
<descr>
|
|
<var>SelectText</var> executes the <link id="#rtl.baseunix.FpSelect">FpSelect</link>
|
|
call on a file of type
|
|
<var>Text</var>. You can specify a timeout in <var>TimeOut</var>. The SelectText call
|
|
determines itself whether it should check for read or write, depending on
|
|
how the file was opened : With <var>Reset</var> it is checked for reading, with
|
|
<var>Rewrite</var> and <var>Append</var> it is checked for writing.
|
|
</descr>
|
|
<errors>
|
|
See <link id="#rtl.baseunix.FpSelect"/>. <var>SYS_EBADF</var> can also mean that the file wasn't
|
|
opened.
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpSelect"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="SeekDir">
|
|
<short>Seek to position in directory</short>
|
|
<descr>
|
|
<p>
|
|
<var>SeekDir</var> sets the directory pointer to the <var>loc</var>-th entry in the
|
|
directory structure pointed to by <var>p</var>.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="#rtl.baseunix.fpOpenDir"/>.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpCloseDir"/>
|
|
<link id="#rtl.baseunix.fpReadDir"/>
|
|
<link id="#rtl.baseunix.fpOpenDir"/>
|
|
<link id="TellDir"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="TellDir">
|
|
<short>Return current location in a directory</short>
|
|
<descr>
|
|
<p>
|
|
<var>TellDir</var> returns the current location in the directory structure
|
|
pointed to by <var>p</var>. It returns -1 on failure.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="#rtl.baseunix.fpOpenDir"/>.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.fpCloseDir"/>
|
|
<link id="#rtl.baseunix.fpReadDir"/>
|
|
<link id="#rtl.baseunix.fpOpenDir"/>
|
|
<link id="SeekDir"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="AssignPipe">
|
|
<short>Create a set of pipe file handlers</short>
|
|
<descr>
|
|
<p>
|
|
<var>AssignePipe</var> creates a pipe, i.e. two file objects, one for input,
|
|
one for output. What is written to <var>Pipe_out</var>, can be read from
|
|
<var>Pipe_in</var>.
|
|
</p>
|
|
<p>
|
|
This call is overloaded. The in and out pipe can take three forms:
|
|
an typed or untyped file, a text file or a file descriptor.
|
|
</p>
|
|
<p>
|
|
If a text file is passed then reading and writing from/to the pipe
|
|
can be done through the usual <var>Readln(Pipe_in,...)</var> and
|
|
<var>Writeln(Pipe_out,...)</var> procedures.
|
|
</p>
|
|
<p>
|
|
The function returns <var>True</var> if everything went succesfully,
|
|
<var>False</var> otherwise.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
In case the function fails and returns <var>False</var>,
|
|
extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function:
|
|
</p>
|
|
<dl>
|
|
<dt>sys_emfile</dt>
|
|
<dd> Too many file descriptors for this process.</dd>
|
|
<dt>sys_enfile</dt>
|
|
<dd> The system file table is full.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="POpen"/>
|
|
<link id="#rtl.baseunix.FpMkFifo"/>
|
|
</seealso>
|
|
<example file="unixex/ex36"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="POpen">
|
|
<short>Pipe file to standard input/output of program</short>
|
|
<descr>
|
|
<var>POpen</var> runs the command specified in <var>Prog</var>,
|
|
and redirects the standard in or output of the
|
|
command to the other end of the pipe <var>F</var>. The parameter <var>rw</var>
|
|
indicates the direction of the pipe. If it is set to <var>'W'</var>, then F can
|
|
be used to write data, which will then be read by the command from stdinput.
|
|
If it is set to <var>'R'</var>, then the standard output of the command can be
|
|
read from <var>F</var>. <var>F</var> should be reset or rewritten prior to using it.
|
|
<var>F</var> can be of type <var>Text</var> or <var>File</var>.
|
|
A file opened with <var>POpen</var> can be closed with <var>Close</var>, but also
|
|
with <link id="PClose"/>. The result is the same, but <var>PClose</var> returns the
|
|
exit status of the command <var>Prog</var>.
|
|
</descr>
|
|
<errors>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function.
|
|
Errors are essentially those of the Execve, Dup and AssignPipe commands.
|
|
</errors>
|
|
<seealso>
|
|
<link id="AssignPipe"/>
|
|
<link id="PClose"/>
|
|
</seealso>
|
|
<example file="unixex/ex37"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="AssignStream">
|
|
<short>Assign stream for in and output to a program</short>
|
|
<descr>
|
|
<p>
|
|
<var>AssignStream</var> creates a 2 or 3 pipes, i.e. two (or three) file objects, one for
|
|
input, one for output,(and one for standard error) the other ends of these
|
|
pipes are connected to standard input and output (and standard error) of
|
|
<var>Prog</var>. <var>Prog</var> is the name of a program (including path) with options,
|
|
which will be executed.
|
|
</p>
|
|
<p>
|
|
What is written to <var>StreamOut</var>, will go to the standard input of
|
|
<var>Prog</var>. Whatever is written by <var>Prog</var> to it's standard output
|
|
can be read from <var>StreamIn</var>.
|
|
Whatever is written by <var>Prog</var> to it's standard error read from
|
|
<var>StreamErr</var>, if present.
|
|
</p>
|
|
<p>
|
|
Reading and writing happens through the usual <var>Readln(StreamIn,...)</var> and
|
|
<var>Writeln (StreamOut,...)</var> procedures.
|
|
</p>
|
|
<remark>
|
|
You should <em> not</em> use <var>Reset</var> or <var>Rewrite</var> on a
|
|
file opened with <var>POpen</var>. This will close the file before re-opening
|
|
it again, thereby closing the connection with the program.
|
|
</remark>
|
|
<p>
|
|
The function returns the process ID of the spawned process, or -1 in case of
|
|
error.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function.
|
|
</p>
|
|
<dl>
|
|
<dt>sys_emfile</dt>
|
|
<dd> Too many file descriptors for this process.</dd>
|
|
<dt>sys_enfile</dt>
|
|
<dd> The system file table is full.</dd>
|
|
</dl>
|
|
<p>
|
|
Other errors include the ones by the fork and exec programs
|
|
</p>
|
|
</errors>
|
|
<seealso>
|
|
<link id="AssignPipe"/>
|
|
<link id="POpen"/>
|
|
</seealso>
|
|
<example file="unixex/ex38"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="GetDomainName">
|
|
<short>Return current domain name</short>
|
|
<descr>
|
|
Get the domain name of the machine on which the process is running.
|
|
An empty string is returned if the domain is not set.
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetHostName"/>
|
|
</seealso>
|
|
<example file="unixex/ex39"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="GetHostName">
|
|
<short>Return host name</short>
|
|
<descr>
|
|
Get the hostname of the machine on which the process is running.
|
|
An empty string is returned if hostname is not set.
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetDomainName"/>
|
|
</seealso>
|
|
<example file="unixex/ex40"/>
|
|
</element>
|
|
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FExpand">
|
|
<short>Expand filename to fully qualified path</short>
|
|
<descr>
|
|
<var>FExpand</var> expands <var>Path</var> to a full path, starting from root,
|
|
eliminating directory references such as . and .. from the result.
|
|
</descr>
|
|
<errors>
|
|
None
|
|
</errors>
|
|
<example file="unixex/ex45"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FSearch">
|
|
<short>Search for file in search path.</short>
|
|
<descr>
|
|
<p>
|
|
<var>FSearch</var> searches in <var>DirList</var>, a colon separated list of directories,
|
|
for a file named <var>Path</var>. It then returns a path to the found file.
|
|
</p>
|
|
<p>
|
|
The <var>CurrentDirStrategy</var> determines how the current directory is treated
|
|
when searching:
|
|
</p>
|
|
<dl>
|
|
<dt>NoCurrentDirectory</dt><dd><printshort id="TFSearchOption.NoCurrentDirectory"/></dd>
|
|
<dt>CurrentDirectoryFirst</dt><dd><printshort id="TFSearchOption.CurrentDirectoryFirst"/></dd>
|
|
<dt>CurrentDirectoryLast</dt><dd><printshort id="TFSearchOption.CurrentDirectoryLast"/></dd>
|
|
</dl>
|
|
<p>
|
|
It is mainly provided to mimic DOS search path behaviour. Default behaviour
|
|
is to search the current directory first.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
An empty string if no such file was found.
|
|
</errors>
|
|
<seealso>
|
|
<link id="FExpand"/>
|
|
<link id="#rtl.unixutil.FNMatch"/>
|
|
</seealso>
|
|
<example file="unixex/ex46"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Glob">
|
|
<short>Find filenames matching a wildcard pattern</short>
|
|
<descr>
|
|
<p
|
|
>Glob returns a pointer to a glob structure which contains all filenames which
|
|
exist and match the pattern in <var>Path</var>.
|
|
The pattern can contain wildcard characters, which have their
|
|
usual meaning.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Returns nil on error, and extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function.
|
|
|
|
</p>
|
|
<dl>
|
|
<dt>sys_enomem</dt><dd> No memory on heap for glob structure.</dd>
|
|
<dt>others</dt><dd> As returned by the opendir call, and sys_readdir.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="GlobFree"/>
|
|
</seealso>
|
|
<example file="unixex/ex49"/>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="Globfree">
|
|
<short>Free result of <link id="Glob"/> call</short>
|
|
<descr>
|
|
<p>
|
|
Releases the memory, occupied by a pglob structure. <var>P</var> is set to nil.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="Glob"/>.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
None
|
|
</errors>
|
|
<seealso>
|
|
<link id="Glob"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: default -->
|
|
<element name="SigRaise">
|
|
<short>Raise a signal (send to current process)</short>
|
|
<descr>
|
|
<var>SigRaise</var> sends a <var>Sig</var> signal to the current process.
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpKill"/>
|
|
<link id="#rtl.baseunix.FpGetPid"/>
|
|
</seealso>
|
|
<example file="unixex/ex65"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="FpMMap">
|
|
<short>Create memory map of a file</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpMMap</var> maps or unmaps files or devices into memory. The different
|
|
arguments determine what and how the file is mapped:
|
|
</p>
|
|
<dl>
|
|
<dt>adr</dt>
|
|
<dd> Address where to mmap the device. This address is a hint,
|
|
and may not be followed.</dd>
|
|
<dt>len</dt><dd> Size (in bytes) of area to be mapped.</dd>
|
|
<dt>prot</dt>
|
|
<dd>
|
|
<p> Protection of mapped memory. This is a OR-ed combination of the
|
|
following constants:</p>
|
|
<dl>
|
|
<dt>PROT_EXEC</dt><dd> The memory can be executed.</dd>
|
|
<dt>PROT_READ</dt><dd> The memory can be read.</dd>
|
|
<dt>PROT_WRITE</dt><dd> The memory can be written.</dd>
|
|
<dt>PROT_NONE</dt><dd> The memory can not be accessed.</dd>
|
|
</dl>
|
|
</dd>
|
|
<dt>flags</dt><dd><p>Contains some options for the mmap call. It is an OR-ed
|
|
combination of the following constants:</p>
|
|
<dl>
|
|
<dt>MAP_FIXED</dt>
|
|
<dd> Do not map at another address than the given address. If the
|
|
address cannot be used, <var>MMap</var> will fail.</dd>
|
|
<dt>MAP_SHARED</dt>
|
|
<dd> Share this map with other processes that map this object.</dd>
|
|
<dt>MAP_PRIVATE</dt>
|
|
<dd> Create a private map with copy-on-write semantics.</dd>
|
|
<dt>MAP_ANONYMOUS</dt>
|
|
<dd> <var>fd</var> does not have to be a file descriptor.</dd>
|
|
</dl>
|
|
<p>
|
|
One of the options <var>MAP_SHARED</var> and <var>MAP_PRIVATE</var> must be present,
|
|
but not both at the same time.
|
|
</p>
|
|
</dd>
|
|
<dt>fd</dt><dd> File descriptor from which to map.</dd>
|
|
<dt>off</dt><dd> Offset to be used in file descriptor <var>fd</var>.</dd>
|
|
</dl>
|
|
<p>
|
|
The function returns a pointer to the mapped memory, or a -1 in case of en
|
|
error.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
On error, -1 is returned and extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function.
|
|
</p>
|
|
<dl>
|
|
<dt>Sys_EBADF</dt>
|
|
<dd> <var>fd</var> is not a valid file descriptor and
|
|
<var>MAP_ANONYMOUS</var> was not specified.</dd>
|
|
<dt>Sys_EACCES</dt>
|
|
<dd><var>MAP_PRIVATE</var> was specified, but <var>fd</var> is not open for
|
|
reading. Or <var>MAP_SHARED</var> was asked and <var>PROT_WRITE</var> is set, fd
|
|
is not open for writing</dd>
|
|
<dt>Sys_EINVAL</dt>
|
|
<dd> One of the record fields <var>Start</var>, <var>length</var> or
|
|
<var>offset</var> is invalid.</dd>
|
|
<dt>Sys_ETXTBUSY</dt>
|
|
<dd><var>MAP_DENYWRITE</var> was set but the object specified
|
|
by fd is open for writing.</dd>
|
|
<dt>Sys_EAGAIN</dt>
|
|
<dd><var>fd</var> is locked, or too much memory is locked.</dd>
|
|
<dt>Sys_ENOMEM</dt>
|
|
<dd> Not enough memory for this operation.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpMUnMap"/>
|
|
</seealso>
|
|
<example file="unixex/ex66"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="Fpmunmap">
|
|
<short>Unmap previously mapped memory block</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpMUnMap</var> unmaps the memory block of size <var>Len</var>, pointed to by
|
|
<var>Adr</var>, which was previously allocated with <link id="FpMMap"/>.
|
|
</p>
|
|
<p>
|
|
The function returns <var>True</var> if successful, <var>False</var> otherwise.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="FpMMap"/>.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
In case of error the function returns a nonzero value,
|
|
extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function.
|
|
See <link id="FpMMap"/> for possible error values.
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpMMap"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpgettimeofday">
|
|
<short>Return kernel time of day in GMT</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpGetTimeOfDay</var> returns the number of seconds since 00:00, January 1
|
|
1970, GMT in a <var>timeval</var> record. This time NOT corrected any way,
|
|
not taking into account timezones, daylight savings time and so on.
|
|
</p>
|
|
<p>
|
|
It is simply a wrapper to the kernel system call. To get the local time,
|
|
<link id="GetTime"/>.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
None.
|
|
</errors>
|
|
<seealso>
|
|
<link id="GetTime"/>
|
|
<link id="GetDateTime"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpNice">
|
|
<short>Set process priority</short>
|
|
<descr>
|
|
<p>
|
|
<var>Nice</var> adds <var>-N</var> to the priority of the running process. The lower the
|
|
priority numerically, the less the process is favored.
|
|
Only the superuser can specify a negative <var>N</var>, i.e. increase the rate at
|
|
which the process is run.
|
|
</p>
|
|
<p>
|
|
If the function is succesful, zero is returned. On error, a nonzero value is returned.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link> function.
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eperm</dt><dd> A non-superuser tried to specify a negative <var>N</var>, i.e.
|
|
do a priority increase.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpGetPriority"/>
|
|
<link id="FpSetPriority"/>
|
|
</seealso>
|
|
<example file="unixex/ex15"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpGetPriority">
|
|
<short>Return process priority</short>
|
|
<descr>
|
|
<p>
|
|
GetPriority returns the priority with which a process is running.
|
|
Which process(es) is determined by the <var>Which</var> and <var>Who</var> variables.
|
|
<var>Which</var> can be one of the pre-defined <var>Prio_Process</var>,
|
|
<var>Prio_PGrp</var>, <var>Prio_User</var>, in which case <var>Who</var> is the process ID, Process group ID or
|
|
User ID, respectively.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="FpNice"/>.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Error information is returned solely by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
function: a priority can be a positive or negative value.
|
|
</p>
|
|
<dl>
|
|
<dt>sys_esrch</dt>
|
|
<dd> No process found using <var>which</var> and <var>who</var>. </dd>
|
|
<dt>sys_einval</dt>
|
|
<dd> <var>Which</var> was not one of <var>Prio_Process</var>,
|
|
<var>Prio_Grp</var> or <var>Prio_User</var>.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpSetPriority"/>
|
|
<link id="FpNice"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpSetPriority">
|
|
<short>Set process priority</short>
|
|
<descr>
|
|
<p>
|
|
<var>fpSetPriority</var> sets the priority with which a process is running.
|
|
Which process(es) is determined by the <var>Which</var> and <var>Who</var> variables.
|
|
<var>Which</var> can be one of the pre-defined constants:
|
|
</p>
|
|
<dl>
|
|
<dt>Prio_Process</dt><dd><var>Who</var> is interpreted as process ID</dd>
|
|
<dt>Prio_PGrp</dt><dd><var>Who</var> is interpreted as process group ID</dd>
|
|
<dt>Prio_User</dt><dd><var>Who</var> is interpreted as user ID</dd>
|
|
</dl>
|
|
<p>
|
|
<var>Prio</var> is a value in the range -20 to 20.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="FpNice"/>.
|
|
</p>
|
|
<p>
|
|
The function returns zero on success, -1 on failure
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
function.
|
|
</p>
|
|
<dl>
|
|
<dt>sys_esrch</dt>
|
|
<dd>No process found using <var>which</var> and <var>who</var>.</dd>
|
|
<dt>sys_einval</dt>
|
|
<dd> <var>Which</var> was not one of <var>Prio_Process</var>,
|
|
<var>Prio_Grp</var> or <var>Prio_User</var>.</dd>
|
|
<dt>sys_eperm</dt>
|
|
<dd>A process was found, but neither its effective or real
|
|
user ID match the effective user ID of the caller.</dd>
|
|
<dt>sys_eacces</dt>
|
|
<dd>A non-superuser tried to a priority increase.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpGetPriority"/>
|
|
<link id="FpNice"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpLstat">
|
|
<short>Return information about symbolic link. Do not follow the link</short>
|
|
<descr>
|
|
<var>FpLstat</var> gets information about the link specified in <var>Path</var>
|
|
(or <var>FileName</var>, and stores it in <var>Info</var>, which points to a
|
|
record of type <var>TStat</var>. Contrary to <link
|
|
id="#rtl.baseunix.FpFStat">FpFstat</link>, it stores
|
|
information about the link, not about the file the link points to.
|
|
The function returns zero if the call was succesful, a nonzero return value
|
|
indicates failure.
|
|
failed.
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
function.
|
|
</p>
|
|
<dl>
|
|
<dt>sys_enoent</dt><dd> <var>Path</var> does not exist.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpFStat"/>
|
|
<link id="StatFS"/>
|
|
</seealso>
|
|
<example file="unixex/ex29"/>
|
|
</element>
|
|
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpSymlink">
|
|
<short>Create a symbolic link</short>
|
|
<descr>
|
|
<p>
|
|
<var>SymLink</var> makes <var>NewName</var> point to the file in
|
|
<var>OldName</var>, which doesn't necessarily exist. The two files
|
|
DO NOT have the same inode number. This is known as a 'soft' link.
|
|
</p>
|
|
<p>The permissions of the link are irrelevant, as they are not used when
|
|
following the link. Ownership of the file is only checked in case of removal
|
|
or renaming of the link.
|
|
</p>
|
|
<p>
|
|
The function returns zero if the call was succesful, a nonzero value if the call
|
|
failed.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
function.
|
|
</p>
|
|
<dl>
|
|
<dt>sys_eperm</dt>
|
|
<dd>The filesystem containing oldpath and newpath does not
|
|
support linking files.</dd>
|
|
<dt>sys_eaccess</dt>
|
|
<dd>Write access for the directory containing <var>Newpath</var>
|
|
is disallowed, or one of the directories in <var>OldPath</var> or
|
|
<var>NewPath</var> has no search (=execute) permission.</dd>
|
|
<dt>sys_enoent</dt>
|
|
<dd>A directory entry in <var>OldPath</var> or <var>NewPath</var> does
|
|
not exist or is a symbolic link pointing to a non-existent directory.</dd>
|
|
<dt>sys_enotdir</dt>
|
|
<dd>A directory entry in <var>OldPath</var> or <var>NewPath</var> is
|
|
nor a directory.</dd>
|
|
<dt>sys_enomem</dt><dd>Insufficient kernel memory.</dd>
|
|
<dt>sys_erofs</dt><dd>The files are on a read-only filesystem.</dd>
|
|
<dt>sys_eexist</dt><dd><var>NewPath</var> already exists.</dd>
|
|
<dt>sys_eloop</dt>
|
|
<dd> <var>OldPath</var> or <var>NewPath</var> has a reference to a circular
|
|
symbolic link, i.e. a symbolic link, whose expansion points to itself.
|
|
</dd>
|
|
<dt>sys_enospc</dt>
|
|
<dd>The device containing <var>NewPath</var> has no room for another entry.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="#rtl.baseunix.FpLink"/>
|
|
<link id="#rtl.baseunix.FpUnLink"/>
|
|
<link id="FpReadLink"/>
|
|
</seealso>
|
|
<example file="unixex/ex22"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="fpReadLink">
|
|
<short>Read destination of symbolic link</short>
|
|
<descr>
|
|
<p>
|
|
<var>FpReadLink</var> returns the file the symbolic link <var>name</var> is pointing
|
|
to. The first form of this function accepts a buffer <var>linkname</var> of
|
|
length <var>maxlen</var> where the filename will be stored. It returns the
|
|
actual number of characters stored in the buffer.
|
|
</p>
|
|
<p>
|
|
The second form of the function returns simply the name of the file.
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
<p>
|
|
On error, the first form of the function returns -1; the second one returns
|
|
an empty string.
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
function.
|
|
</p>
|
|
<dl>
|
|
<dt>SYS_ENOTDIR</dt>
|
|
<dd>A part of the path in <var>Name</var> is not a directory.</dd>
|
|
<dt>SYS_EINVAL</dt>
|
|
<dd>maxlen is not positive, or the file is not a symbolic link.</dd>
|
|
<dt>SYS_ENAMETOOLONG</dt>
|
|
<dd>A pathname, or a component of a pathname, was too long.</dd>
|
|
<dt>SYS_ENOENT</dt>
|
|
<dd>the link <var>name</var> does not exist.</dd>
|
|
<dt>SYS_EACCES</dt>
|
|
<dd>No permission to search a directory in the path</dd>
|
|
<dt>SYS_ELOOP</dt>
|
|
<dd>Too many symbolic links were encountered in translating the pathname.</dd>
|
|
<dt>SYS_EIO</dt>
|
|
<dd>An I/O error occurred while reading from the file system.</dd>
|
|
<dt>SYS_EFAULT</dt>
|
|
<dd>The buffer is not part of the the process's memory space.</dd>
|
|
<dt>SYS_ENOMEM</dt>
|
|
<dd>Not enough kernel memory was available.</dd>
|
|
</dl>
|
|
</errors>
|
|
<seealso>
|
|
<link id="FpSymLink"/>
|
|
</seealso>
|
|
<example file="unixex/ex62"/>
|
|
</element>
|
|
|
|
<!-- function Visibility: default -->
|
|
<element name="PClose">
|
|
<short>Close file opened with <link id="POpen"/></short>
|
|
<descr>
|
|
<p>
|
|
<var>PClose</var> closes a file opened with <link id="POpen"/>.
|
|
It waits for the command to complete, and then returns the exit status of the command.
|
|
</p>
|
|
<p>
|
|
For an example, see <link id="POpen"/>
|
|
</p>
|
|
</descr>
|
|
<errors>
|
|
Extended error information is returned by the <link id="#rtl.baseunix.fpGetErrno">FpGetErrno</link>
|
|
function.
|
|
</errors>
|
|
<seealso>
|
|
<link id="POpen"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
|
|
</module> <!-- Unix -->
|
|
</package>
|
|
</fpdoc-descriptions>
|