--- /dev/null
+.\"
+.\" $Id: capget.2,v 1.1 2001-08-08 08:48:52 joey Exp $
+.\" written by Andrew Morgan <morgan@linux.kernel.org>
+.\" may be distributed as per GPL
+.\" Modified by David A. Wheeler <dwheeler@ida.org>
+.\" Translated into german by Daniel Kobras (kobras@linux.de)
+.\"
+.TH CAPGET 2 "20. Januar 2001" "Linux 2.2" "Systemaufrufe"
+.SH BEZEICHNUNG
+capget, capset \- hole/setze Prozeßrechte
+.SH "ÜBERSICHT"
+.B #undef _POSIX_SOURCE
+.br
+.B #include <sys/capability.h>
+.sp
+.BI "int capget(cap_user_header_t " header ", cap_user_data_t " data );
+.sp
+.BI "int capset(cap_user_header_t " header ", const cap_user_data_t " data );
+.SH BESCHREIBUNG
+Beginnend mit Linux Kernel 2.2 sind die Befugnisse des Systemadministrators
+(root) aufgeteilt in einzelne Rechte. Jeder Prozeß besitzt eine Menge
+aktueller Rechte, die bestimmen, welche Rechte er im Augenblick wahrnehmen
+darf. Jeder Prozeß besitzt darüber hinaus einen Satz vererbbarer Rechte,
+die via execve(2) weitergereicht werden dürfen, sowie eine Liste erlaubter
+Rechte, die er einsetzen oder vererben kann.
+.PP
+.B capget()
+und
+.B capset()
+bilden die rohe Schnittstelle zum Kernel, um Rechte abzufragen und zu
+setzen. Diese Systemaufrufe sind nicht nur Linux-spezifisch, sondern auch
+die Form der Schnittstelle kann sich mit jeder Revision des Kernels ändern.
+Das gilt für die Anwendung der beiden Funktionen und ganz besonders
+für das Format des Typs
+.B cap_user_*_t.
+.sp
+Die portablen Schnittstellen heißen
+.IR cap_set_proc (3)
+und
+.IR cap_get_proc (3);
+wenn möglich sollten diese Schnittstellen in Anwendungsprogrammen benutzt
+werden. Um auch Zugriff auf Linux-Erweiterungen zu bekommen, stehen die
+Aufrufe
+.IR capsetp (3)
+und
+.IR capgetp (3)
+zur Verfügung.
+.SH "RÜCKGABEWERT"
+Bei Erfolg wird null zurückgeliefert. Im Fehlerfall wird -1 übergeben
+und
+.I errno
+entsprechend gesetzt.
+.SH FEHLER
+.TP
+.SB EINVAL
+Ein oder mehrere übergebene Argumente waren ungültig.
+.TP
+.SB EPERM
+Es wurde versucht, neue Rechte zur Menge der erlaubten Rechte (permitted)
+hinzuzufügen, oder ein nicht erlaubtes Recht in die Liste aktueller
+(effective) oder vererbarer (inheritable) Rechte aufzunehmen.
+.SH WEITERE INFORMATIONEN
+Die portable Schnittstelle zum Abfragen und Setzen von Prozeßrechten wird
+durch die Bibliothek
+.B libcap
+zur Verfügung gestellt. Sie ist zu beziehen über:
+.br
+.B ftp://linux.kernel.org/pub/linux/libs/security/linux-privs
+.SH "SIEHE AUCH"
--- /dev/null
+.so man2/capget.2
--- /dev/null
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" Modified by Michael Haardt <michael@moria.de>
+.\" Modified Wed Jul 21 22:10:52 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 15 April 1995 by Michael Chastain <mec@shell.portal.com>:
+.\" Added 'fchdir'.
+.\" Fix bugs in error section.
+.\" Modified Mon Oct 21 23:05:29 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified by Joseph S. Myers <jsm28@cam.ac.uk>, 970821
+.\" Translated into german by Daniel Kobras (kobras@linux.de)
+.\"
+.TH CHDIR 2 "23. Januar 2001" "Linux 2.0.30" "Systemaufrufe"
+.SH BEZEICHNUNG
+chdir, fchdir \- Aktuelles Arbeitsverzeichnis wechseln.
+.SH "ÜBERSICHT"
+.B #include <unistd.h>
+.sp
+.BI "int chdir(const char *" Pfad );
+.br
+.BI "int fchdir(int " fd ");"
+.SH BESCHREIBUNG
+.B chdir
+ändert das aktuelle Verzeichnis in das durch
+.I Pfad
+angegebene Verzeichnis.
+.PP
+.B fchdir
+ist identisch zu
+.BR chdir ,
+jedoch wird der Verzeichnispfad als geöffneter Dateideskriptor übergeben.
+.SH "RÜCKGABEWERT"
+Ist das Arbeitsverzeichnis erfolgreich geändert, wird 0 zurückgegeben.
+Tritt ein Fehler auf, wird \-1 zurückgegeben und
+.I errno
+entsprechend der Fehlerursache gesetzt.
+.SH FEHLER
+Welche Fehler im einzelnen zurückgeliefert werden, hängt ab vom verwendeten
+Dateisystem. Die folgenden Auflistungen nennen lediglich die allgemein
+üblichen.
+.PP
+Zunächst die Fehler für
+.BR chdir :
+.TP
+.B EFAULT
+.I Pfad
+zeigt auf einen Speicherbereich außerhalb des erlaubten Adreßraums des
+Prozesses.
+.TP
+.B ENAMETOOLONG
+.I Pfad
+ist zu lang.
+.TP
+.B ENOENT
+Der angegebene Pfadname existiert nicht.
+.TP
+.B ENOMEM
+Das Betriebssystem verfügt nicht über ausreichend Speicher, um die Anweisung
+auszuführen.
+.TP
+.B ENOTDIR
+Eine Komponente von
+.I Pfad
+ist kein Verzeichnis.
+.TP
+.B EACCES
+Dem Prozeß ist nicht erlaubt, eine Komponente von
+.I Pfad
+zu durchsuchen.
+.TP
+.B ELOOP
+.I Pfad
+enthält zu viele symbolische Verweise.
+.TP
+.B EIO
+Ein Ein-/Ausgabefehler ist aufgetreten.
+.PP
+Übliche Fehler bei
+.BR fchdir :
+.TP
+.B EBADF
+.I fd
+ist kein gültiger Dateideskriptor.
+.TP
+.B EACCES
+Es ist nicht erlaubt, das durch
+.I fd
+angegebene Verzeichnis zu durchsuchen.
+.SH "KONFORM ZU"
+Der
+.BR chdir -Aufruf
+ist vereinbar mit SVr4, SVID, POSIX, X/OPEN und 4.4BSD. SVr4 legt die
+zusätzlichen Fehler EINTR, ENOLINK und EMULTIHOP fest, besitzt jedoch kein
+ENOMEM. In POSIX.1 treten weder ENOMEM noch ELOOP auf.
+X/OPEN erwähnt nicht die Fehler EFAULT, ENOMEM und EIO.
+.PP
+Der
+.BR fchdir -Aufruf
+ist vereinbar mit SVr4, 4.4BSD und X/OPEN.
+SVr4 legt die zusätzlichen Fehler EIO, EINTR und ENOLINK fest.
+X/OPEN definiert zusätzlich EINTR und EIO.
+.SH "SIEHE AUCH"
+.BR getcwd (3),
+.BR chroot (2).
--- /dev/null
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" Modified by Michael Haardt (michael@moria.de)
+.\" Modified Wed Jul 21 20:18:11 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Sun Jan 12 14:31:17 MET 1997 by Michael Haardt
+.\" (michael@cantor.informatik.rwth-aachen.de): NFS details
+.\" Translated into german by Daniel Kobras (kobras@linux.de)
+.\"
+.TH CHMOD 2 "23. Januar 2001" "Linux 2.0.32" "Systemaufrufe"
+.SH BEZEICHNUNG
+chmod, fchmod \- Zugriffsrechte einer Datei ändern.
+.SH "ÜBERSICHT"
+.B #include <sys/types.h>
+.br
+.B #include <sys/stat.h>
+.sp
+.BI "int chmod(const char *" Pfad ", mode_t " Rechte );
+.br
+.BI "int fchmod(int " fd ", mode_t " Rechte );
+.SH BESCHREIBUNG
+Die Zugriffsrechte der durch
+.I Pfad
+beziehungsweise
+.I fd
+angegebenen Datei oder des Verzeichnisses werden geändert. Die
+.I Rechte
+werden angegeben durch bitweises Oder der folgenden Werte:
+.RS
+.sp
+.TP 1.0i
+S_ISUID
+04000 Setze Benutzerkennung bei Ausführung;
+.TP
+S_ISGID
+02000 Setze Gruppenkennung bei Ausführung;
+.TP
+S_ISVTX
+01000 'Sticky-Bit' (Erklärung siehe unten);
+.TP
+S_IRUSR (S_IREAD)
+00400 Leserechte für Eigentümer;
+.TP
+S_IWUSR (S_IWRITE)
+00200 Schreibrechte für Eigentümer;
+.TP
+S_IXUSR (S_IEXEC)
+00100 Ausführrechte für Eigentümer, bei Verzeichnissen: Eigentümer darf
+Verzeichnis durchsuchen;
+.TP
+S_IRGRP
+00040 Leserechte für Gruppe;
+.TP
+S_IWGRP
+00020 Schreibrechte für Gruppe;
+.TP
+S_IXGRP
+00010 Ausführrechte für Gruppe, bei Verzeichnissen: Gruppe darf
+Verzeichnis durchsuchen;
+.TP
+S_IROTH
+00004 Leserechte für andere;
+.TP
+S_IWOTH
+00002 Schreibrechte für Gruppe;
+.TP
+S_IXOTH
+00001 Ausführrechte für andere, bei Verzeichnissen: andere dürfen
+Verzeichnis durchsuchen;
+.sp
+.RE
+Die effektive Benutzerkennung des Prozesses muß entweder null sein, oder sie
+muß mit der Kennung des Dateieigentümers übereinstimmen.
+.PP
+Ist die effektive Benutzerkennung des Prozesses nicht null und entspricht
+die Gruppenzugehörigkeit der Datei nicht einer der Gruppen des
+aufrufenden Prozesses, so wird das S_ISGID-Bit abgeschaltet, ohne daß ein
+Fehler zurückgeliefert wird.
+Abhängig vom verwendeten Dateisystem können die S_ISUID- und S_ISGID-Bits
+gelöscht werden, sobald die Datei beschrieben wird.
+.PP
+Auf manchen Dateisystemen
+darf lediglich der Administrator das Sticky-Bit setzen. Das Sticky-Bit kann
+verschiedene Bedeutungen haben, beispielsweise kann in Verzeichnissen
+mit gesetztem Sticky-Bit eine Datei nur vom Dateieigentümer oder dem
+Administrator (root) gelöscht werden.
+.PP
+Auf NFS-Dateisystemen findet die Zugriffskontrolle auf dem Server statt,
+während der Klient selbst seine offenen Dateien verwaltet. Verschärfte
+Zugriffsrechte treten somit augenblicklich in Kraft. Erweiterte Zugriffsrechte
+hingegen werden erst nach und nach an andere Klienten weitergegeben.
+.SH "RÜCKGABEWERT"
+Sind die Zugriffsrechte erfolgreich geändert, wird 0 zurückgegeben.
+Tritt ein Fehler auf, wird \-1 zurückgegeben und
+.I errno
+entsprechend der Fehlerursache gesetzt.
+.SH FEHLER
+Welche Fehler im einzelnen zurückgeliefert werden, hängt ab vom verwendeten
+Dateisystem. Die folgenden Auflistungen nennen lediglich die allgemein
+üblichen.
+.PP
+Zunächste die Fehler für
+.BR chmod :
+.TP
+.B EPERM
+Die effektive Benutzerkennung ist weder null, noch entspricht sie dem
+Eigentümer der Datei.
+.TP
+.B EROFS
+Die angegebene Datei befindet sich auf einem Dateisystem, das nur lesbar ist.
+.TP
+.B EFAULT
+.I Pfad
+zeigt auf einen Speicherbereich außerhalb des erlaubten Adreßraums des
+Prozesses.
+.TP
+.B ENAMETOOLONG
+.I Pfad
+ist zu lang.
+.TP
+.B ENOENT
+Der angegebene Pfadname existiert nicht.
+.TP
+.B ENOMEM
+Das Betriebssystem verfügt nicht über ausreichend Speicher, um die Anweisung
+auszuführen.
+.TP
+.B ENOTDIR
+Eine Komponente von
+.I Pfad
+ist kein Verzeichnis.
+.TP
+.B EACCES
+Dem Prozeß ist nicht erlaubt, eine Komponente von
+.I Pfad
+zu durchsuchen.
+.TP
+.B ELOOP
+.I Pfad
+enthält zu viele symbolische Verweise.
+.TP
+.B EIO
+Ein Ein-/Ausgabefehler ist aufgetreten.
+.PP
+Übliche Fehler bei
+.BR fchmod :
+.TP
+.B EBADF
+.I fd
+ist kein gültiger Dateideskriptor.
+.TP
+.B EROFS
+Siehe oben.
+.TP
+.B EPERM
+Siehe oben.
+.TP
+.B EIO
+Siehe oben.
+.SH "KONFORM ZU"
+Der
+.BR chmod -Aufruf
+ist vereinbar mit SVr4, SVID, POSIX, X/OPEN und 4.4BSD.
+SVr4 legt die zusätzlichen Fehler EINTR, ENOLINK and EMULTIHOP fest, jedoch
+kein ENOMEM. In POSIX.1 fehlen die EFAULT, ENOMEM, ELOOP und EIO
+Fehlerbedingungen sowie die Makros
+\fBS_IREAD\fP, \fBS_IWRITE\fP and \fBS_IEXEC\fP.
+.PP
+Der
+.BR fchmod -Aufruf
+ist vereinbar mit 4.4BSD und SVr4.
+SVr4 legt die zusätzlichen Fehler EINTR und ENOLINK fest.
+POSIX verlangt die
+.BR fchmod -Funktion,
+sofern zumindest eines von
+.B _POSIX_MAPPED_FILES
+und
+.B _POSIX_SHARED_MEMORY_OBJECTS
+definiert ist. Zudem beschreibt es die zusätzlichen Fehler ENOSYS und
+EINVAL, nicht jedoch EIO.
+.PP
+Weder POSIX, noch X/OPEN dokumentieren das Sticky-Bit.
+.SH "SIEHE AUCH"
+.BR open (2),
+.BR chown (2),
+.BR execve (2),
+.BR stat (2),
--- /dev/null
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright (c) 1992 Drew Eckhardt <drew@cs.colorado.edu>, March 28, 1992
+.\" May be distributed under the GNU General Public License.
+.\" Modified by Michael Haardt <michael@moria.de>
+.\" Modified Sat Jul 24 13:22:07 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 21 Aug 1994 by Michael Chastain <mec@shell.portal.com>:
+.\" New man page (copied from 'fork.2').
+.\" Modified 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
+.\" Modified 25 april 1998 by Xavier Leroy <Xavier.Leroy@inria.fr>
+.\" Translated into german by Daniel Kobras (kobras@linux.de)
+.\"
+.TH CLONE 2 "23. Januar 2001" "Linux 2.0.33" "Systemaufrufe"
+.SH BEZEICHNUNG
+__clone \- Erzeugt einen Kindprozeß
+.SH "ÜBERSICHT"
+.B #include <sched.h>
+.sp
+.BI "int __clone(int (*" "fn" ") (void *" "arg" "), void *" "child_stack" ", int " "flags" ", void *" "arg" ")"
+
+.SH BESCHREIBUNG
+.B __clone
+erzeugt einen neuen Prozeß, ähnlich wie
+.BR fork (2)
+dies tut. Im Gegensatz zu
+.BR fork (2)
+erlaubt es
+.B __clone
+jedoch, daß der Kindprozeß Teile seines Kontextes mit dem Vaterprozeß teilt.
+Dazu zählen Speicherbereiche, die verwendeten Dateideskriptoren oder
+Signalhandler.
+.B __clone
+wird in erster Linie dazu benutzt, um Threads zu implementieren. Das sind
+mehrere parallel zueinander ablaufende Programmstränge eines Prozesses in
+einem gemeinsamen Speicherbereich.
+.PP
+Wird ein Kindprozeß erzeugt, führt er das Funktionsprogramm
+.IR fn ( arg )
+aus. Das Argument
+.I fn
+zeigt auf eine Funktion, die vom Kindprozeß zu Beginn seiner Ausführung
+abgearbeitet wird.
+.I arg
+wird dieser Funktion als Argument übergeben.
+.PP
+Kehrt die Funktion
+.IR fn ( arg )
+zurück, so beendet sich auch der gesamte Kindprozeß. Der Ganzzahlwert,
+der von
+.I fn
+zurückgeliefert wird, entspricht dem Exit-Code des Kindprozesses. Der
+Kindprozeß kann auch durch ein explizites
+.BR exit (1)
+oder durch ein geeignetes Signal beendet werden.
+.PP
+Das Argument
+.I child_stack
+bestimmt den Ort des Stapelspeichers, der vom Kindprozeß verwendet wird.
+Da Vater- und Kindprozeß sich Speicherbereiche teilen können, ist es im
+allgemeinen nicht möglich, beide auf demselben Stapelspeicher ablaufen
+zu lassen. Der Vaterprozeß muß daher einen Speicherbereich als
+Stapelspeicher für den Kindprozeß bereithalten und einen Zeiger darauf via
+.B __clone
+an den Kindprozeß übergeben. Mit Ausnahme von HP PA-Maschinen wächst der
+Stapelspeicher auf allen von Linux unterstützten Prozessoren nach unten,
+so daß
+.I child_stack
+für gewöhnlich auf die oberste Adresse im bereitgehaltenen Speicherbereich
+zeigt.
+.PP
+Das untere Byte von
+.I flags
+enthält die Nummer des Signals, das bei Beendigung des Kindprozesses an
+den Vaterprozeß geschickt werden soll.
+.I flags
+kann darüber hinaus noch durch bitweises Oder mit den folgenden Konstanten
+verknüpft werden. Dadurch wird festgelegt, welche Ressourcen Vater- und
+Kindprozeß sich teilen.
+.PP
+.TP
+.B CLONE_VM
+Ist
+.B CLONE_VM
+gesetzt, laufen Vater- und Kindprozeß im selben Adreßraum. Insbesondere
+ist das Resultat von Schreibzugriffen eines Prozesses in den gemeinsamen
+Speicher auch vom anderen Prozeß aus sichtbar. Zudem gilt jede
+Veränderung der Speichermappings durch
+.BR mmap (2)
+oder
+.BR munmap (2)
+für beide Prozesse.
+
+Ist
+.B CLONE_VM
+nicht gesetzt, erhält der Kindprozeß seinen eigenen Adreßraum. Wie auch bei
+.BR fork (2)
+bleiben Schreibzugriffe auf den Speicher oder Änderungen am Speichermapping
+auf den jeweiligen Prozeß beschränkt.
+.PP
+.TP
+.B CLONE_FS
+Ist
+.B CLONE_FS
+gesetzt, teilen sich Vater- und Kindprozeß ihre Informationen über das
+Dateisystem. Dazu zählen der Ort des Wurzelverzeichnisses, das aktuelle
+Arbeitsverzeichnis und die Maske der Dateizugriffsrechte. Jeder Aufruf von
+.BR chroot (2),
+.BR chdir (2)
+oder
+.BR umask (2)
+durch entweder den Vater- oder den Kindprozeß beeinflußt auch die
+Informationen des jeweils anderen Prozesses.
+
+Ist
+.B CLONE_FS
+nicht gesetzt, erhält der Kindprozeß von
+.B __clone
+eine Kopie der Dateisysteminformationen. Aufrufe von
+.BR chroot (2),
+.BR chdir (2)
+und
+.BR umask (2)
+beeinflussen daraufhin lediglich einen der beiden Prozesse.
+.PP
+.TP
+.B CLONE_FILES
+Ist
+.B CLONE_FILES
+gesetzt, teilen sich Vater- und Kindprozeß ihre Dateideskriptoren. Sie
+verweisen stets auf dieselbe Datei, sowohl im Vater-, als auch im
+Kindprozeß. Jeder Deskriptor, der in einem der beiden Prozesse erzeugt
+wird, ist auch im anderen Prozeß gültig. Ebenso wirkt sich das Schließen
+eines Deskriptors oder das Ändern der Attribute auf beide Prozesse
+zugleich aus.
+
+Ist
+.B CLONE_FILES
+nicht gesetzt, erhält der Kindprozeß durch
+.B __clone
+eine Kopie der aktuell geöffneten Dateideskriptoren. Alle anschließend
+durchgeführten Operationen auf die Deskriptoren bleiben auf den jeweiligen
+Prozeß beschränkt.
+.PP
+.TP
+.B CLONE_SIGHAND
+Ist
+.B CLONE_SIGHAND
+gesetzt, teilen sich Vater- und Kindprozeß die Tabelle der Signalhandler.
+Ruft einer der beiden Prozesse
+.BR sigaction (2)
+auf, um das Antwortverhalten auf ein Signal zu verändern, so betrifft dies
+auch den anderen Prozeß. Jedoch besitzen Vater- und Kindprozeß nach wie vor
+getrennte Signalmasken und getrennte Listen der noch unbearbeiteten Signale.
+Einzelne Signale können daher durch Aufruf von
+.BR sigprocmask (2)
+lokal für einen Prozeß geblockt oder zugelassen werden.
+
+Ist
+.B CLONE_SIGHAND
+nicht gesetzt, erhält der Kindprozeß durch den
+.BR __clone -Aufruf
+eine Kopie des Signalhandlers. Ein nachfolgendes
+.BR sigaction (2)
+betrifft dann nur noch den aufrufenden Prozeß.
+.PP
+.TP
+.B CLONE_PID
+Ist
+.B CLONE_PID
+gesetzt, erhält der Kindprozeß dieselbe Prozeßkennung wie der Vaterprozeß.
+
+Ist
+.B CLONE_PID
+nicht gesetzt, erhält der Kindprozeß eine eigene Prozeßkennung, unabhängig
+von der Kennung des Vaterprozesses.
+.PP
+.SH "RÜCKGABEWERT"
+Ist
+.B __clone
+erfolgreich, wird im Vaterprozeß die Prozeßkennung des Kindprozesses
+zurückgegeben. Im Kindprozeß wird 0 zurückgeliefert. Im Fehlerfall wird
+\-1 zurückgegeben, es wird kein Kindprozeß
+erzeugt, und
+.I errno
+wird entsprechend der Fehlerursache gesetzt.
+.PP
+.SH FEHLER
+.TP
+.B EAGAIN
+Augenblicklich laufen zu viele andere Prozesse.
+.TP
+.B ENOMEM
+.B __clone
+ist nicht in der Lage, ausreichend viel Speicher anzufordern
+für die Verwaltungsstrukturen des Kindprozesses oder für die zu kopierenden
+Bereiche aus der Vaterumgebung.
+.PP
+.SH BUGS
+Ab Kernelversion 2.1.97 sollte
+.B CLONE_PID
+nicht mehr verwendet werden, da Teile des Betriebssystems und der Großteil
+der Systemprogramme von eindeutigen Prozeßkennungen ausgehen.
+.PP
+Version 5 der libc kennt keinen
+.BR __clone -Aufruf.
+Die Nachfolgerversion libc6 (auch glibc2 genannt) stellt
+.B __clone
+in der hier beschriebenen Form zur Verfügung.
+.PP
+.SH "KONFORM ZU"
+Der
+.BR __clone -Aufruf
+ist Linux-spezifisch und sollte nicht in als portabel geltenden Programmen
+eingesetzt werden. Um Programme auf Thread-Basis zu entwickeln, sollte statt
+dessen auf Bibliotheksfunktionen zurückgegriffen werden, die eine
+POSIX-1003.1c-konforme Programmierschnittstelle bereitstellen. Dazu zählen
+die in libc6/glibc2 enthaltenen LinuxThreads. Siehe
+.BR pthread_create (3thr).
+.PP
+Diese Dokumentation basiert auf den Kernelversionen 2.0.x und 2.1.x sowie
+glibc 2.0.x.
+.SH "SIEHE AUCH"
+.BR fork (2),
+.BR pthread_create (3thr)
--- /dev/null
+.so man2/chdir.2
--- /dev/null
+.so man2/chmod.2