Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ unistd(4) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

access(2)

alarm(2)

brk(2)

chdir(2)

chown(2)

chroot(2)

close(2)

dup(2)

exec(2)

exit(2)

fcntl(2)

fork(2)

fpathconf(2)

fsync(2)

getgroups(2)

getpid(2)

getsid(2)

getuid(2)

link(2)

lseek(2)

nice(2)

pause(2)

pipe(2)

read(2)

readlink(2)

rmdir(2)

setpgid(2)

setpgrp(2)

setsid(2)

setuid(2)

symlink(2)

sync(2)

unlink(2)

vfork(2)

write(2)

getdtablesize(3)

getpagesize(3)

getwd(3)

setregid(3)

setreuid(3)

ualarm(3)

usleep(3)

confstr(3C)

crypt(3C)

unistd(4)

getcwd(3C)

getlogin(3C)

getpass(3C)

lockf(3C)

sleep(3C)

swab(3C)

sysconf(3C)

tcsetpgrp(3C)

truncate(3C)

ttyname(3C)

gethostid(3N)

gethostname(3N-xs)

ctermid(3S)

cuserid(3S)

group(4)

limits(4)

passwd(4)

lfs(5)

termios(5)

types(5)

unistd(4)                                                         unistd(4)

NAME
     unistd - Symbolische Standardkonstanten und -typen

SYNTAX
     #include <unistd.h>

BESCHREIBUNG
     Die Include-Datei <unistd.h> definiert verschiedene symbolische Kon-
     stanten und Typen und deklariert verschiedene Funktionen. Der Inhalt
     dieser Include-Datei ist unten angegeben. Folgende symbolische Kon-
     stanten sind definiert:

     POSIXVERSION         Ganzzahliger Wert, der die Version des Stan-
                            dards ISO POSIX-1 (C-Binding-Schnittstellen)
                            angibt.

     POSIX2VERSION        Ganzzahliger Wert, der die Version des Stan-
                            dards ISO POSIX-2 (Kommandos) angibt.

     POSIX2CVERSION      Ganzzahliger Wert, der die Version des Stan-
                            dards ISO POSIX-2 (C-Binding-Schnittstellen)
                            angibt. Dieser Wert gibt ferner an, ob die
                            X/Open POSIX2 "C-language Binding Feature
                            Group" unterstützt wird.

     XOPENVERSION         Ganzzahliger Wert, der die Version des X/Open
                            Portability Guide angibt, dem die Implementie-
                            rung entspricht.

     POSIXVERSION ist im Standard ISO POSIX-1 definiert. Der Wert ändert
     sich mit jeder neuen Version von ISO POSIX-1.

     POSIX2VERSION ist im Standard ISO POSIX-2 definiert. Der Wert ändert
     sich mit jeder neuen Version von ISO POSIX-2.

     POSIX2CVERSION ist im Standard ISO POSIX-2 definiert. Der Wert
     ändert sich mit jeder neuen Version von ISO POSIX-2. Wenn die C-
     Binding-Schnittstellen des Standards ISO POSIX-2 und somit auch die
     X/Open POSIX2 "C-language Binding Feature Group" nicht unterstützt
     wird, wird POSIX2CVERSION auf -1 gesetzt.

     XOPENVERSION ist als ganzzahlige Wert größer oder gleich 4 defi-
     niert, der eine der Ausgaben des X/Open Portability Guide angibt, dem
     die Implementierung entspricht.

     XOPENXCUVERSION ist als ganzzahliger Wert definiert, der die Ver-
     sion von XCU (X/Open Commands and Utilities) angibt, welche der Imple-
     mentierung entspricht. Ist dieser Wert gleich -1, sind in der Imple-
     mentierung keine Kommandos und Dienstprogramme enthalten. Ist der Wert
     größer oder gleich 4, werden auch die Funktionen unterstützt, die den
     folgenden Symbolen zugeordnet sind:




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     POSIX2CBIND
     POSIX2CVERSION
     POSIX2CHARTERM
     POSIX2LOCALEDEF
     POSIX2UPE
     POSIX2VERSION

     Wenn diese Konstante nicht definiert ist, können Sie anhand der Funk-
     tion sysconf() feststellen, welche Funktionen unterstützt werden.

     Die folgenden symbolischen Konstanten sind nur dann definiert, wenn
     die Implementierung den angegebenen Änderungsstand des X/Open Portabi-
     lity Guide unterstützt.

     XOPENXPG2            X/Open Portability Guide, Volume 2, January
                            1987, XVS System Calls and Libraries (ISBN:
                            0-444-70175-3).

     XOPENXPG3            X/Open Specification, February 1992, System
                            Interfaces and Headers, Issue 3 (ISBN:
                            1-872630-37-5, C212); bei dieser Spezifikation
                            handelt es sich um den früheren X/Open Portabi-
                            lity Guide, Issue 3, Volume 2, January 1989,
                            XSI System Interface and Headers (ISBN:
                            0-13-685843-0, XO/XPG/89/003).

     XOPENXPG4            X/Open CAE Specification, July 1992, System
                            Interfaces and Headers, Issue 4 (ISBN:
                            1-872630-47-2, C202).

     XOPENUNIX            X/Open CAE Specification, August 1994, System
                            Interfaces and Headers, Issue 4, Version 2
                            (ISBN: 1-85912-037-7, C435).

   Obligatorische symbolische Konstanten

     Obwohl alle Implementierungen, die vorliegender Beshreibung entspre-
     chen, auch alle im folgenden beschriebenen FIPS-Funktionen (FIPS -
     Federal Information Processing Standards) unterstützen, kann es
     systemspezifische oder dateisystemspezifische Konfigurationsprozeduren
     geben, die einige oder alle dieser Funktionen entfernen beziehungs-
     weise ändern können. Solche Konfigurationen sollten nicht durchgeführt
     werden, wenn eine strikte Einhaltung der FIPS gefordert ist.

     Die folgenden symbolischen Konstanten sind entweder undefiniert oder
     mit einem anderen Wert als -1 definiert. Wenn eine Konstante undefi-
     niert ist, sollte eine Anwendung anhand der Funktion sysconf(),
     pathconf() oder fpathconf() feststellen, welche Funktionen zur Zeit
     beziehungsweise für den entsprechenden Pfadnamen auf dem System
     installiert sind.




Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     POSIXCHOWNRESTRICTED  chown() kann nur von einem Prozeß mit ent-
                              sprechenden Berechtigungen verwendet werden,
                              wobei die Gruppen-ID einer Datei nur in die
                              effektive Gruppen-ID des Prozesses oder in
                              eine der zugehörigen Gruppen-IDs geändert
                              werden kann.

     POSIXNOTRUNC          Komponenten von Pfadnamen, die länger als
                              NAMEMAX sind, führen zu einem Fehler.

     POSIXVDISABLE          In <termios.h> definierte Sonerzeichen des
                              Terminals können über diesen Zeichenwert
                              deaktiviert werden.

     POSIXSAVEDIDS         Jeder Prozeß verfügt über eine gesicherte
                              set-UID und eine gesicherte set-GID.

     POSIXJOBCONTROL       Die Implementation unterstützt die Ablauf-
                              steuerung.

     POSIXCHOWNRESTRICTED, POSIXNOTRUNC und POSIXVDISABLE haben
     andere Werte als -1.

   Konstanten für Optionen und Funktionsgruppen

     Die folgenden symbolischen Konstanten sind so definiert, daß sie den
     Wert -1 annehmen, wenn die Implementierung die Funktion nie zur Verfü-
     gung stellt, und einen anderen Wert, wenn die Implementierung die
     Funktion immer zur Verfügung stellt. Sind die Konstanten nicht defi-
     niert, kann über die Funktion sysconf() festgestellt werden, ob die
     Funktion für einen bestimmten Aufruf der Anwendung verfügbar ist.

     POSIX2CBIND           Die Implementierung unterstützt die C-Ent-
                              wicklungsschnittstellen.

     POSIX2CDEV            Die Implementierung unterstützt die C-Ent-
                              wicklungsprogramme.

     POSIX2CHARTERM        Die Implementierung unterstützt zumindest
                              einen Terminaltyp.

     POSIX2FORTDEV         Die Implementierung unterstützt die FORTRAN-
                              Entwicklungsschnittstellen.

     POSIX2FORTRUN         Die Implementierung unterstützt die FORTRAN-
                              Run-time-Entwicklungsschnittstellen.

     POSIX2LOCALEDEF        Die Implementierung unterstützt die Erstel-
                              lung von internationalen Umgebungen durch
                              localedef.




Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     POSIX2SWDEV           Die Implementierung unterstützt die
                              Software-Entwicklungsschnittstellen.

     POSIX2UPE              Die Implementierung unterstützt die
                              Benutzer-Portabilitätsschnittstellen.

     XOPENCRYPT             Die Implementierung unterstützt die X/Open
                              Encryption Feature Group.

     XOPENENHI18N          Die Implementierung unterstützt die X/Open
                              Enhanced Internationalisation Feature Group.

     XOPENSHM               Die Implementierung unterstützt die X/Open
                              Shared Memory Feature Group.

   Konstanten für Funktionen

     Folgende symbolische Konstante ist definiert:

     NULL            Nullzeiger

     Die folgenden symbolischen Konstanten sind für die Funktion access()
     definiert:

     ROK            Prüft auf Leseberechtigung.

     WOK            Prüft auf Schreibberechtigung.

     XOK            Prüft auf Ausführungs-/Suchberechtigung.

     FOK            Püpft auf das Vorhandensein der Datei.

     Die Konstanten FOK, ROK, WOK und XOK sowie die Ausdrücke ROK |
     WOK, ROK | XOK und ROK | WOK | XOK haben alle veschiedene Werte.

     Die folgende symbolische Konstante ist für die Funktion confstr()
     definiert:

     CSPATH        Wenn der Standard ISO POSIX-2 unterstützt wird, ist
                     dies der Wert für die Umgebungsvariable PATH, der alle
                     Standarddienstprogramme findet. Andernfalls ist die
                     Bedeutung dieses Wertes nicht definiert.

     Die folgenden symbolischen Konstanten sind für die Funktionen lseek()
     und fcntl() definiert (sie haben verschiedebe Werte):

     SEEKSET        Setzt den Datei-Offset auf offset.

     SEEKCUR        Setzt den Datei-Offset auf die aktuellen Position plus
                     offset.




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     SEEKEND        Setzt den Datei-Offset auf das Dateiende (EOF) plus
                     offset.

     Die folgenden symbolischen Konstanten sind für sysconf() definiert:

     SC2CBIND
     SC2CDEV
     SC2CVERSION
     SC2FORTDEV
     SC2FORTRUN
     SC2LOCALEDEF
     SC2SWDEV
     SC2UPE
     SC2VERSION
     SCARGMAX
     SCATEXITMAX
     SCBCBASEMAX
     SCBCDIMMAX
     SCBCSCALEMAX
     SCBCSTRINGMAX
     SCCHILDMAX
     SCCLKTCK
     SCCOLLWEIGHTSMAX
     SCEXPRNESTMAX
     SCIOVMAX
     SCJOBCONTROL
     SCLINEMAX
     SCNGROUPSMAX
     SCOPENMAX
     SCPAGESIZE
     SCPAGESIZE
     SCPASSMAX
     SCREDUPMAX
     SCSAVEDIDS
     SCSTREAMMAX
     SCTZNAMEMAX
     SCVERSION
     SCXOPENVERSION
     SCXOPENCRYPT
     SCXOPENENHI18N
     SCXOPENSHM
     SCXOPENUNIX

     Die beiden Konstanten SCPAGESIZE und SCPAGESIZE können so defi-
     niert werden, daß sie denselben Wert haben.

     Die folgenden symbolischen Konstanten sind als mögliche Wert für das
     Argument function für die Funktion lockf() definiert:

     FLOCK          Sperrt einen Abschnitt für exklusive Benutzung.

     FULOCK         Entsperrt gesperrte Abschnitte.


Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     FTEST          Prüft einen Abschnitt auf Sperren durch andere Pro-
                     zesse.

     FTLOCK         Prüft einen Abschnitt und sperrt ihn für exklusive
                     Benutzung.

     Die folgenden symbolischen Konstanten sind für pathconf() definiert:

     PCCHOWNRESTRICTED
     PCFILESIZEBITS
     PCLINKMAX
     PCMAXCANON
     PCMAXINPUT
     PCNAMEMAX
     PCNOTRUNC
     PCPATHMAX
     PCPIPEBUF
     PCVDISABLE

     Die folgenden symbolischen Konstanten sind für Datei-Streams defi-
     niert:

     STDINFILENO           Dateinummer von stdin. Diese ist 0.

     STDOUTFILENO          Dateinummer von stdout. Diese ist 1.

     STDERRFILENO          Dateinummer von stderr. Diese ist 2.

     Die folgenden Pfadnamen sind definiert:

     GFPATH                Pfadname der Gruppendatei.

     PFPATH                Pfadname der Paßwortdatei.

     Der folgende Funktionsprototyp kann auch als Makros definiert sein
     [siehe gethostname(3N-xs)]:

          int gethostname(char *address, int addresslen);

     Die folgenden Werte für Konstanten sind für das vorliegende Release
     von System V definiert:

     POSIXVERSION  199009L

     XOPENVERSION  4

   Typdefinitionen

     Die Typen sizet,  ssizet, uidt, gidt, offt und pidt sind wie in
     <sys/types.h> beschrieben definiert.

     Der Typ usecondst ist wie in <sys/types.h> beschrieben definiert.


Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

   Deklarationen

     Folgende Funktionsprototypen können auch als Makros definiert sein:

     int           access(const char *path, int amode);
     unsigned int  alarm(unsigned int seconds);
     int           brk(void *addr);
     int           chdir(const char *path);
     int           chown(const char *path, uidt owner, gidt group);
     int           chroot(const char *path);
     int           close(int fildes);
     sizet        confstr (int name, char *buf, sizet len);
     char         *crypt(const char *key, const char *salt);
     char         *ctermid(char *s);
     char         *cuserid(char *s);
     int           dup(int fildes);
     int           dup2(int fildes, int fildes2);
     void          encrypt(char block[64], int edflag);
     int           execl(const char *path, const char *arg0, ...);
     int           execle(const char *file, const char *arg0, ...);
     int           execlp(const char *file, const char *arg0, ...);
     int           execv(const char *path, char *const argv[]);
     int           execve(const char *path, char *const argv[],
                        char *const envp[]);
     int           execvp(const char *file, char *const argv[]);
     void          exit(int status);
     int           fchown(int fildes, uidt owner, gidt group);
     int           fchdir(int fildes);
     pidt         fork(void);
     long int      fpathconf(int fildes, int name);
     int           fsync(int fildes);
     int           ftruncate(int fildes, offt length);
     int           ftruncate64(int fildes, off64t length);
     char         *getcwd(char *buf, sizet size);
     int           getdtablesize(void);
     gidt         getegid(void);
     uidt         geteuid(void);
     gidt         getgid(void);
     int           getgroups(int gidsetsize, gidt grouplist[]);
     long          gethostid(void);
     char         *getlogin(void);
     int           getopt(int argc, char * const argv[],
                        const char *optstring);
     int           getpagesize(void);
     char         *getpass(const char *prompt);
     pidt         getpgid(pidt pid);
     pidt         getpgrp(void);
     pidt         getpid(void);
     pidt         getppid(void);
     pidt         getsid(pidt pid);
     uidt         getuid(void);
     char         *getwd(char *pathname);


Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     int           isatty(int fildes);
     int           lchown(const char *path, uidt owner, gidt group);
     int           link(const char *path1, const char *path2);
     int           lockf(int fildes,int function,offt size);
     int           ftruncate64(int fildes, off64t length);
     offt         lseek(int fildes, offt offset, int whence);
     off64t       lseek64(int fildes, off64t offset, int whence);
     int           nice(int incr);
     long int      pathconf(const char *path, int name);
     int           pause(void);
     int           pipe(int fildes[2]);
     ssizet       read(int fildes, void *buf, sizet nbyte);
     int           readlink(const char *path, char *buf, sizet bufsiz);
     int           rmdir(const char *path);
     void         *sbrk(int incr);
     int           setgid(gidt gid);
     int           setpgid(pidt pid, pidt pgid);
     pidt         setpgrp(void);
     int           setregid(gidt rgid, gidt egid);
     int           setreuid(uidt ruid, uidt euid);
     pidt         setsid(void);
     int           setuid(uidt uid);
     unsigned int  sleep(unsigned int seconds);
     void          swab(const void *src, void *dest, ssizet nbytes);
     int           symlink(const char *path1, const char *path2);
     void          sync(void);
     long int      sysconf(int name);
     pidt         tcgetpgrp(int fildes);
     int           tcsetpgrp(int fildes, pidt pgrpid);
     int           truncate(const char *path, offt length);
     int           truncate64(const char *path, off64t length);
     char         *ttyname(int fildes);
     usecondst    ualarm(usecondst useconds, usecondst interval);
     int           unlink(const char *path);
     int           usleep(usecondst useconds);
     pidt         vfork(void);
     ssizet       write(int fildes, const void *buf, sizet nbyte);

     Die folgenden externen Variablen sind deklariert:

     extern char *optarg;
     extern int   optind, opterr, optopt;

     Versionstestmakros:

     LFSLARGEFILE
          Ist als 1 definiert, wenn die Implementierung die Schnittstellen
          wie unter "2.2.1 Changes to System Interfaces" [LFS-Spezifika-
          tion, siehe lfs(5)] angegeben unterstützt, jedoch mit der Aus-
          nahme, daß die Implementierungen folgende asynchronen E/A-
          Schnittstellen nicht bereitstellen müssen: aioread(),
          aiowrite() und liolistio().


Seite 8                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     LFSASYNCHRONOUSIO
          Ist als 1 definiert, wenn die Implementierung die asynchronen
          E/A-Schnittstellen aioread(), aiowrite() und liolistio()
          unterstützt, wie unter "2.2.1 Changes to System Interfaces"
          [LFS-Spezifikation, siehe lfs(5)] angegeben.

     LFS64ASYNCHRONOUSIO
          Ist als 1 definiert, wenn die Implementierung alle Übergangser-
          weiterungen unterstützt, die unter "3.1.1.1.1 Asynchronous I/O
          Interfaces" und "3.1.2.2 [LFS-Spezifikation, siehe lfs(5)] aufge-
          führt sind.

     LFS64LARGEFILE
          Ist als 1 definiert, wenn die Implementierung alle Übergangser-
          weiterungen unterstützt, die unter "3.1.1.1.3 Other Interfaces",
          "3.1.1.2 fcntl()", "3.1.1.3 open()" und "3.1.2 Transitional
          Extensions to Headers" zu Include-Dateien angegeben sind, wobei
          die unter "3.1.2.2 <aio.h>" und "3.1.2.6 <stdio.h>" [LFS-Spezifi-
          kation, siehe lfs(5)] angegebenen Änderungen nicht unterstützt
          werden müssen.

     LFS64STDIO
          Ist als 1 definiert, wenn die Implementierung alle Übergangser-
          weiterungen unterstützt, die unter "3.1.1.1.2 STDIO Interfaces"
          und "3.1.2.6 <stdio.h>" [LFS-Spezifikation, siehe lfs(5)] aufge-
          führt sind.

          Wenn LFS64STDIO nicht als 1 definiert ist und in der zugrunde-
          liegenden Dateibeschreibung, die dem Stream zugeordnet ist,
          OLARGEFILE gesetzt ist, dan ist das Verhalten der Standard-E/A-
          Funktionen unbestimmt.

     Konstanten für Funktionen:

     CSLFSCFLAGS                Für confstr().
     CSLFSLDFLAGS               Für confstr().
     CSLFSLIBS                  Für confstr().
     CSLFSLINTFLAGS             Für confstr().

     CSLFS64CFLAGS              Für confstr().
     CSLFS64LDFLAGS             Für confstr().
     CSLFS64LIBS                Für confstr().
     CSLFS64LINTFLAGS           Für confstr().

SIEHE AUCH
     access(2), alarm(2), brk(2), chdir(2), chown(2), chroot(2), close(2),
     dup(2), exec(2), exit(2), fcntl(2), fork(2), fpathconf(2), fsync(2),
     getgroups(2), getpid(2), getsid(2), getuid(2), link(2), lseek(2),
     nice(2), pause(2), pipe(2), read(2), readlink(2), rmdir(2), setpgid(2),
     setpgrp(2), setsid(2), setuid(2), symlink(2), sync(2), unlink(2),
     vfork(2), write(2), getdtablesize(3), getpagesize(3), getwd(3),
     setregid(3), setreuid(3), ualarm(3), usleep(3), confstr(3C), crypt(3C),


Seite 9                      Reliant UNIX 5.44               Gedruckt 11/98

unistd(4)                                                         unistd(4)

     getcwd(3C), getlogin(3C), getpass(3C), lockf(3C), sleep(3C), swab(3C),
     sysconf(3C), tcsetpgrp(3C), truncate(3C), ttyname(3C), gethostid(3N),
     gethostname(3N-xs), ctermid(3S), cuserid(3S), group(4), limits(4),
     passwd(4), lfs(5), termios(5), types(5).


















































Seite 10                     Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026