Moin Mitübersetzer, die Handbuchseite fcntl.2 habe ich soweit wie möglich (d.h. bis auf 11 Zeichenketten) vervollständigt, eine Reihe von Zeichenketten fand' ich aber nicht einfach. Daher hängt dieser E-Mail der Teil 1 (von 6) mit der für solche E-Mails von mir üblichen Bitte um Korrektur mit konstruktiver Kritik. Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann debian@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
# German translation of manpages # This file is distributed under the same license as the manpages-de package. # Copyright © of this file: # Martin Schulze <joey@infodrom.org>, 1998. # Helge Kreutzmann <debian@helgefjell.de>, 2012-2017. msgid "" msgstr "" "Project-Id-Version: manpages-de\n" "POT-Creation-Date: 2016-12-12 22:33+0100\n" "PO-Revision-Date: 2017-01-15 13:49+0100\n" "Last-Translator: Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #, no-wrap msgid "FCNTL" msgstr "FCNTL" #. type: TH #, no-wrap msgid "2016-10-08" msgstr "8. Oktober 2016" #. type: TH #, no-wrap msgid "Linux" msgstr "Linux" #. type: TH #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux-Programmierhandbuch" #. type: SH #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" #. type: Plain text msgid "fcntl - manipulate file descriptor" msgstr "fcntl - Dateideskriptoren manipulieren" #. type: SH #, no-wrap msgid "SYNOPSIS" msgstr "ÜBERSICHT" #. type: Plain text #, no-wrap msgid "" "B<#include E<lt>unistd.hE<gt>>\n" "B<#include E<lt>fcntl.hE<gt>>\n" msgstr "" "B<#include E<lt>unistd.hE<gt>>\n" "B<#include E<lt>fcntl.hE<gt>>\n" #. type: Plain text #, no-wrap msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n" msgstr "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, … /* >I<arg>B< */ );>\n" #. type: SH #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: Plain text msgid "" "B<fcntl>() performs one of the operations described below on the open file " "descriptor I<fd>. The operation is determined by I<cmd>." msgstr "" "B<fcntl>() führt eine der unten beschriebenen Aktionen auf dem offenen " "Dateideskriptor I<fd> aus. Die Aktion wird durch I<cmd> festgelegt." #. type: Plain text msgid "" "B<fcntl>() can take an optional third argument. Whether or not this " "argument is required is determined by I<cmd>. The required argument type is " "indicated in parentheses after each I<cmd> name (in most cases, the required " "type is I<int>, and we identify the argument using the name I<arg>), or " "I<void> is specified if the argument is not required." msgstr "" "B<fcntl>() kann ein optionales drittes Argument akzeptieren. Ob dieses " "Argument notwendig ist, ergibt sich durch I<cmd>. Der benötigte Argumenttyp " "wird nach jedem I<cmd>-Namen in Klammern angedeutet (in den meisten Fällen " "ist der benötigte Typ I<int> und der Argumenttyp wird mit dem Namen I<arg> " "identifiziert). Falls das Argument nicht notwendig ist, wird I<void> " "angegeben." #. type: Plain text msgid "" "Certain of the operations below are supported only since a particular Linux " "kernel version. The preferred method of checking whether the host kernel " "supports a particular operation is to invoke B<fcntl>() with the desired " "I<cmd> value and then test whether the call failed with B<EINVAL>, " "indicating that the kernel does not recognize this value." msgstr "" "Bestimmte der unten aufgeführten Aktionen werden nur seit einer bestimmten " "Linux-Kernelversion unterstützt. Die bevorzugte Methode, um herauszufinden, " "ob der Gastkernel eine bestimmte Aktion unterstützt, ist der Aufruf von " "B<fcntl>() mit dem gewünschten Wert von I<cmd> und dem anschließenden Test, " "ob der Aufruf mit B<EINVAL> fehlschlug, wodurch angezeigt wird, dass der " "Kernel diesen Wert nicht unterstützt." #. type: SS #, no-wrap msgid "Duplicating a file descriptor" msgstr "Duplizieren eines Dateideskriptors" #. type: TP #, no-wrap msgid "B<F_DUPFD> (I<int>)" msgstr "B<F_DUPFD> (I<int>)" #. type: Plain text msgid "" "Duplicate the file descriptor I<fd> using the lowest-numbered available file " "descriptor greater than or equal to I<arg>. This is different from " "B<dup2>(2), which uses exactly the file descriptor specified." msgstr "" "verdoppelt den Dateideskriptor I<fd> unter Verwendung des Dateideskriptors " "mit der kleinsten Nummer, die identisch zu oder größer als I<arg> ist. Dies " "unterscheidet sich von B<dup2>(2), das exakt den angegebenen Dateideskriptor " "verwendet." #. type: Plain text msgid "On success, the new file descriptor is returned." msgstr "Bei Erfolg wird der neue Dateideskriptor zurückgegeben." #. type: Plain text msgid "See B<dup>(2) for further details." msgstr "Lesen Sie B<dup>(2) für weitere Details." #. type: TP #, no-wrap msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)" msgstr "B<F_DUPFD_CLOEXEC> (I<int>; seit Linux 2.6.24)" #. type: Plain text msgid "" "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the " "duplicate file descriptor. Specifying this flag permits a program to avoid " "an additional B<fcntl>() B<F_SETFD> operation to set the B<FD_CLOEXEC> " "flag. For an explanation of why this flag is useful, see the description of " "B<O_CLOEXEC> in B<open>(2)." msgstr "" "Wie für B<F_DUPFD>, setzt aber zusätzlich den Schalter »close-on-exec« für " "den duplizierten Dateideskriptor. Die Angabe dieses Schalters ermöglicht es " "einem Programm, eine zusätzliche B<fcntl>()-B<F_SETFD>-Aktion zu vermeiden, " "um den Schalter B<FD_CLOEXEC> zu setzen. Für eine Erläuterung, warum dieser " "Schalter nützlich ist, lesen Sie die Beschreibung von B<O_CLOEXEC> in " "B<open>(2)." #. type: SS #, no-wrap msgid "File descriptor flags" msgstr "Datei-Deskriptor-Schalter" #. type: Plain text msgid "" "The following commands manipulate the flags associated with a file " "descriptor. Currently, only one such flag is defined: B<FD_CLOEXEC>, the " "close-on-exec flag. If the B<FD_CLOEXEC> bit is set, the file descriptor " "will automatically be closed during a successful B<execve>(2). (If the " "B<execve>(2) fails, the file descriptor is left open.) If the " "B<FD_CLOEXEC> bit is not set, the file descriptor will remain open across an " "B<execve>(2)." msgstr "" "Die folgenden Befehle verändern die einem Dateideskriptor zugeordneten " "Schalter. Derzeit ist nur ein solcher Schalter definiert: B<FD_CLOEXEC>, der " "»close-on-exec«-Schalter. Falls das B<FD_CLOEXEC>-Bit gesetzt ist, wird der " "Dateideskriptor automatisch bei einem erfolgreichen B<execve>(2) " "geschlossen. (Falls der B<execve>(2) fehlschlägt, bleibt der Dateideskriptor " "offen.) Falls das Bit B<FD_CLOEXEC> nicht gesetzt ist, wird der " "Dateideskriptor über ein B<execve>(2) hinweg offen bleiben." #. type: TP #, no-wrap msgid "B<F_GETFD> (I<void>)" msgstr "B<F_GETFD> (I<void>)" #. type: Plain text msgid "" "Return (as the function result) the file descriptor flags; I<arg> is ignored." msgstr "" "Liefert (als Ergebnis der Funktion) die Dateideskriptorschalter; I<arg> wird " "ignoriert." #. type: TP #, no-wrap msgid "B<F_SETFD> (I<int>)" msgstr "B<F_SETFD> (I<int>)" #. type: Plain text msgid "Set the file descriptor flags to the value specified by I<arg>." msgstr "" "Den Dateideskriptorschalter auf den durch I<arg> angegebenenen Wert setzen" #. type: Plain text msgid "" "In multithreaded programs, using B<fcntl>() B<F_SETFD> to set the close-on-" "exec flag at the same time as another thread performs a B<fork>(2) plus " "B<execve>(2) is vulnerable to a race condition that may unintentionally " "leak the file descriptor to the program executed in the child process. See " "the discussion of the B<O_CLOEXEC> flag in B<open>(2) for details and a " "remedy to the problem." msgstr "" "In multithreaded Programmen ist die Verwendung von B<fcntl>() B<F_SETFD>, um " "den Schalter »close-on-exec« zum gleichen Zeitpunkt zu setzen, zu dem ein " "anderer Thread ein B<fork>(2) mit einem B<execve>(2) ausführt, anfällig für " "einen Ressourcenwettlauf, der unbeabsichtigterweise den Dateideskriptor an " "das Program, das im Kindprozess läuft, durchsickern lässt. Siehe die " "Diskussion des Schalters B<O_CLOEXEC> in B<open>(2) für Details und wie dem " "Problem abgeholfen werden kann." #. type: SS #, no-wrap msgid "File status flags" msgstr "Dateistatusschalter" #. or #. .BR creat (2), #. type: Plain text msgid "" "Each open file description has certain associated status flags, initialized " "by B<open>(2) and possibly modified by B<fcntl>(). Duplicated file " "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer " "to the same open file description, and thus share the same file status flags." msgstr "" "Jede offene Dateideskription hat bestimmte zugeordnete Statusschalter, die " "durch B<open>(2) initalisiert und möglicherweise durch B<fcntl>() verändert " "werden. Duplizierte Dateideskriptoren (mit B<dup>(2), B<fcntl>(F_DUPFD), " "B<fork>(2) usw. erstellte) beziehen sich auf die gleiche offene " "Dateideskription und teilen sich daher die gleichen Dateistatusschalter." #. type: Plain text msgid "The file status flags and their semantics are described in B<open>(2)." msgstr "" "Die Dateistatusschalter und deren Bedeutung sind in B<open>(2) beschrieben." #. type: TP #, no-wrap msgid "B<F_GETFL> (I<void>)" msgstr "B<F_GETFL> (I<void>)" #. type: Plain text msgid "" "Return (as the function result) the file access mode and the file status " "flags; I<arg> is ignored." msgstr "" "Liefert (als Ergebnis der Funktion) den Dateizugriffsmodus und die " "Dateistatusschalter; I<arg> wird ignoriert." #. type: TP #, no-wrap msgid "B<F_SETFL> (I<int>)" msgstr "B<F_SETFL> (I<int>)" #. type: Plain text msgid "" "Set the file status flags to the value specified by I<arg>. File access " "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>) and file creation flags (i.e., " "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>) in I<arg> are ignored. On " "Linux, this command can change only the B<O_APPEND>, B<O_ASYNC>, " "B<O_DIRECT>, B<O_NOATIME>, and B<O_NONBLOCK> flags. It is not possible to " "change the B<O_DSYNC> and B<O_SYNC> flags; see BUGS, below." msgstr "" "Setzt die Dateistatusschalter auf den durch I<arg> festgelegten Wert. " "Dateizugriffsmodus (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>) und " "Dateierzeugungsschalter (d.h. B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, " "B<O_TRUNC>) werden in I<arg> ignoriert. Unter Linux kann dieser Befehl nur " "die Schalter B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, B<O_NOATIME> und " "B<O_NONBLOCK> ändern. Es ist nicht möglich, die Schalter B<O_DSYNC> und " "B<O_SYNC> zu ändern, siehe FEHLER weiter unten." #. type: SS #, no-wrap msgid "Advisory record locking" msgstr "" #. type: Plain text msgid "" "Linux implements traditional (\"process-associated\") UNIX record locks, as " "standardized by POSIX. For a Linux-specific alternative with better " "semantics, see the discussion of open file description locks below." msgstr "" "Linux implementiert traditionelle (»Prozess-orientierte«) UNIX-Datensatz-" "Sperren, wie durch POSIX standardisiert. Für eine Linux-spezifische " "Alternative mit besserer Semantik lesen Sie die Diskussion über offene " "Dateideskriptions-Sperren unten." #. type: Plain text msgid "" "B<F_SETLK>, B<F_SETLKW>, and B<F_GETLK> are used to acquire, release, and " "test for the existence of record locks (also known as byte-range, file-" "segment, or file-region locks). The third argument, I<lock>, is a pointer " "to a structure that has at least the following fields (in unspecified order)." msgstr "" "B<F_SETLK>, B<F_SETLKW> und B<F_GETLK> werden dazu verwandt, " "Datensatzsperren (auch bekannt als Byte-Bereichs-, Dateisegment- oder " "Dateiregionsperren) zu erlangen, abzugeben oder auf deren Existenz zu " "prüfen. Das dritte Argument, I<lock>, ist ein Zeiger auf eine Struktur, die " "mindestens die folgende Felder (in einer nicht festgelegten Reihenfolge) " "enthält:" #. type: Plain text #, no-wrap msgid "" "struct flock {\n" " ...\n" " short l_type; /* Type of lock: F_RDLCK,\n" " F_WRLCK, F_UNLCK */\n" " short l_whence; /* How to interpret l_start:\n" " SEEK_SET, SEEK_CUR, SEEK_END */\n" " off_t l_start; /* Starting offset for lock */\n" " off_t l_len; /* Number of bytes to lock */\n" " pid_t l_pid; /* PID of process blocking our lock\n" " (set by F_GETLK and F_OFD_GETLK) */\n" " ...\n" "};\n" msgstr "" "struct flock {\n" " …\n" " short l_type; /* Art der Sperre: F_RDLCK,\n" " F_WRLCK, F_UNLCK */\n" " short l_whence; /* Wie l_start interpretiert wird:\n" " SEEK_SET, SEEK_CUR, SEEK_END */\n" " off_t l_start; /* Anfangsversatz für Sperre */\n" " off_t l_len; /* Anzahl von zu sperrenden Bytes */\n" " pid_t l_pid; /* PID des Prozesses, der unsere Sperre blockiert\n" " (gesetzt durch F_GETLK und F_OFD_GETLK) */\n" " …\n" "};\n" #. type: Plain text msgid "" "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify " "the range of bytes we wish to lock. Bytes past the end of the file may be " "locked, but not bytes before the start of the file." msgstr "" "Die Felder I<l_whence>, I<l_start> und I<l_len> dieser Struktur legen den " "Bereich der Bytes, die gesperrt werden sollen, fest. Bytes hinter dem Ende " "der Datei können gesperrt sein, aber Bytes vor dem Anfang der Datei sind es " "nicht." #. type: Plain text msgid "" "I<l_start> is the starting offset for the lock, and is interpreted relative " "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the " "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file " "(if I<l_whence> is B<SEEK_END>). In the final two cases, I<l_start> can be " "a negative number provided the offset does not lie before the start of the " "file." msgstr "" "I<l_start> ist der Startversatz für die Sperre und wird relativ zu einem der " "folgenden interpretiert: Dem Anfang der Datei (falls I<l_whence> B<SEEK_SET> " "ist) oder dem Ende der Datei (falls I<l_whence> B<SEEK_END> ist). In den " "abschließenden zwei Fällen kann I<l_start> eine negative Zahl sein, " "vorausgesetzt, der Versatz liegt nicht vor dem Anfang der Datei." #. type: Plain text msgid "" "I<l_len> specifies the number of bytes to be locked. If I<l_len> is " "positive, then the range to be locked covers bytes I<l_start> up to and " "including I<l_start>+I<l_len>-1. Specifying 0 for I<l_len> has the special " "meaning: lock all bytes starting at the location specified by I<l_whence> " "and I<l_start> through to the end of file, no matter how large the file " "grows." msgstr "" "I<l_len> legt die Anzahl der zu sperrenden Bytes fest. Falls I<l_len> " "positiv ist, wird der zu sperrende Bereich die Bytes I<l_start> bis " "einschließlich I<l_start>+I<l_len>-1 umfassen. Die Angabe von 0 für I<l_len> " "hat eine besondere Bedeutung: Alle Bytes beginnend bei I<l_whence> und " "I<l_start> bis zum Ende der Datei sperren, unabhängig davon, wie groß die " "Datei anwächst." #. type: Plain text msgid "" "POSIX.1-2001 allows (but does not require) an implementation to support a " "negative I<l_len> value; if I<l_len> is negative, the interval described by " "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1. " "This is supported by Linux since kernel versions 2.4.21 and 2.5.49." msgstr "" "POSIX.1-2001 erlaubt (verlangt es aber nicht), dass eine Implementierung " "einen negativen Wert für I<l_len> unterstützt. Falls I<l_len> negativ ist, " "deckt das durch I<lock> beschriebene Intervall die Bytes I<l_start>+I<l_len> " "bis zu einschließlich I<l_start>-1 ab. Dies wird durch Linux seit " "Kernelversion 2.4.21 and 2.5.49 unterstützt." #. type: Plain text msgid "" "The I<l_type> field can be used to place a read (B<F_RDLCK>) or a write " "(B<F_WRLCK>) lock on a file. Any number of processes may hold a read lock " "(shared lock) on a file region, but only one process may hold a write lock " "(exclusive lock). An exclusive lock excludes all other locks, both shared " "and exclusive. A single process can hold only one type of lock on a file " "region; if a new lock is applied to an already-locked region, then the " "existing lock is converted to the new lock type. (Such conversions may " "involve splitting, shrinking, or coalescing with an existing lock if the " "byte range specified by the new lock does not precisely coincide with the " "range of the existing lock.)" msgstr "" "Das Feld I<l_type> kann dazu verwandt werden, eine Lese- (B<F_RDLCK>) oder " "Schreibsperre (B<F_WRLCK>) auf eine Datei zu setzen. Eine beliebige Anzahl " "an Prozessen kann eine Lesesperre auf eine Dateiregion halten (gemeinsame " "Sperre), aber nur ein Prozess kann eine Schreibsperre (exklusive Sperre) " "halten. Eine exklusive Sperre sperrt alle anderen Sperren aus, sowohl " "exklusive als auch gemeinsame. Ein einzelner Prozess kann nur eine Art von " "Sperre auf eine Dateiregion halten. Falls eine neue Sperre auf eine bereits " "gesperrte Region angewandt wird, wird die existierende Sperre in den Typ der " "neuen Sperre umgewandelt. (Solche Umwandlungen können das Teilen, " "Verkleinern, Vereinigen mit bestehenden Sperren beinhalten, falls der durch " "die neue Sperre festgelegte Byte-Bereiche nicht genau mit dem Bereich der " "bereits existierenden Sperre zusammenfällt.)" #. type: TP #, no-wrap msgid "B<F_SETLK> (I<struct flock *>)" msgstr "B<F_SETLK> (I<struct flock *>)" #. type: Plain text msgid "" "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>) or release a " "lock (when I<l_type> is B<F_UNLCK>) on the bytes specified by the " "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>. If a conflicting " "lock is held by another process, this call returns -1 and sets I<errno> to " "B<EACCES> or B<EAGAIN>. (The error returned in this case differs across " "implementations, so POSIX requires a portable application to check for both " "errors.)" msgstr "" "erlangt (wenn I<l_type> B<F_RDLCK> oder B<F_WRLCK> ist) oder gibt eine " "Sperre (wenn I<l_type> B<F_UNLCK> ist) für die durch die Felder I<l_whence>, " "I<l_start> und I<l_len> von I<lock> festgelegten Bytes ab. Falls durch einen " "anderen Prozess eine im Konflikt stehende Sperre gehalten wird, liefert " "dieser Aufruf -1 zurück und setzt I<errno> auf B<EACCES> oder B<EAGAIN>. " "(Der in diesem Fall zurückgelieferte Fehler unterscheidet sich zwischen " "Implementierungen, daher verlangt POSIX, dass portable Anwendungen auf beide " "Fehler prüfen.)" #. type: TP #, no-wrap msgid "B<F_SETLKW> (I<struct flock *>)" msgstr "B<F_SETLKW> (I<struct flock *>)" #. type: Plain text msgid "" "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait " "for that lock to be released. If a signal is caught while waiting, then the " "call is interrupted and (after the signal handler has returned) returns " "immediately (with return value -1 and I<errno> set to B<EINTR>; see " "B<signal>(7))." msgstr "" "wie für B<F_SETLK>, aber bei Konflikten um eine Sperre auf die Datei wird " "auf die Freigabe der Sperre gewartet. Falls während des Wartens ein Signal " "abgefangen wird, dann wird der Aufruf unterbrochen und (nachdem der " "Signalbearbeiter zurückgekehrt ist) sofort zurückgekehrt (mit dem " "Rückgabewert -1 und I<errno> auf B<EINTR> gesetzt; siehe B<signal>(7))."
Attachment:
signature.asc
Description: Digital signature