# German translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Johnny Teveßen , 1998. # Martin Schulze , 1998. # Dr. Tobias Quathamer , 2016. # Helge Kreutzmann , 2016, 2019-2022. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.22.0\n" "POT-Creation-Date: 2024-06-01 06:03+0200\n" "PO-Revision-Date: 2024-06-01 13:59+0200\n" "Last-Translator: Helge Kreutzmann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "mmap" msgstr "mmap" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2. Mai 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "mmap, munmap - map or unmap files or devices into memory" msgstr "mmap, munmap - (un)mapt Dateien oder Geräte im Speicher" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHEK" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "Standard-C-Bibliothek (I, I<-lc>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "ÜBERSICHT" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Esys/mman.hE>\n" msgstr "B<#include Esys/mman.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<[.>IB<], size_t >IB<, int >IB<, int >IB<,>\n" "B< int >IB<, off_t >IB<);>\n" "BIB<[.>IB<], size_t >IB<);>\n" msgstr "" "BIB<[.>IB<], size_t >IB<, int >IB<, int >IB<,>\n" "B< int >I
B<, off_t >IB<);>\n" "BIB<[.>IB<], size_t >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "See NOTES for information on feature test macro requirements." msgstr "" "Siehe ANMERKUNGEN für Informationen über Feature-Test-Makros-Anforderungen." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() creates a new mapping in the virtual address space of the calling " "process. The starting address for the new mapping is specified in I. " "The I argument specifies the length of the mapping (which must be " "greater than 0)." msgstr "" "B() erstellt ein neues Mapping in den virtuellen Adressraum des " "aufrufenden Prozesses. Die Anfangsadresse für dieses neue Mapping wird in " "I angegeben. Das Argument I gibt an, welche Größe das Mapping " "haben soll (dies muss größer als 0 sein)." #. Before Linux 2.6.24, the address was rounded up to the next page #. boundary; since Linux 2.6.24, it is rounded down! #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is NULL, then the kernel chooses the (page-aligned) address at " "which to create the mapping; this is the most portable method of creating a " "new mapping. If I is not NULL, then the kernel takes it as a hint " "about where to place the mapping; on Linux, the kernel will pick a nearby " "page boundary (but always above or equal to the value specified by I) and attempt to create the mapping there. If another " "mapping already exists there, the kernel picks a new address that may or may " "not depend on the hint. The address of the new mapping is returned as the " "result of the call." msgstr "" "Falls I NULL ist, wählt der Kernel die (Seiten-ausgerichtete) Adresse " "aus, an der das Mapping erstellt wird. Dies ist die portabelste Methode, ein " "neues Mapping zu erstellen. Falls I nicht NULL ist, wertet der Kernel " "die Adresse als Hinweis, wo das Mapping erstellt werden soll. Unter Linux " "wird das Mapping dann eine Speicherseitengrenze in der Nähe auswählen " "(allerdings immer identisch zu oder oberhalb von dem durch I festgelegten Wert) und versuchen, dort ein Mapping zu " "erstellen. Falls dort bereits ein anderes Mapping existiert, dann wählt der " "Kernel eine neue Adresse, die den Hinweis berücksichtigen kann, aber nicht " "muss. Die Adresse des neuen Mappings wird als Ergebnis des Aufrufs " "zurückgegeben." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The contents of a file mapping (as opposed to an anonymous mapping; see " "B below), are initialized using I bytes starting at " "offset I in the file (or other object) referred to by the file " "descriptor I. I must be a multiple of the page size as returned " "by I." msgstr "" "Die Inhalte eines Datei-Mappings werden initialisiert, indem I Byte " "aus der Datei (oder einem anderen Objekt), die durch den Dateideskriptor " "I
beschrieben wird, ab dem Versatz I verwendet werden. Dies ist " "anders als beim anonymen Mapping, siehe B unten. I " "muss ein Vielfaches der Seitengröße sein, die von I " "zurückgegeben wird." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After the B() call has returned, the file descriptor, I, can be " "closed immediately without invalidating the mapping." msgstr "" "Nachdem der B()-Aufruf zurückgekehrt ist, kann der Dateideskriptor " "I
sofort geschlossen werden, ohne dass das Mapping ungültig wird." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument describes the desired memory protection of the mapping " "(and must not conflict with the open mode of the file). It is either " "B or the bitwise OR of one or more of the following flags:" msgstr "" "Das Argument I beschreibt den gewünschten Speicherschutz des Mappings " "(und darf nicht im Widerspruch zum Öffnungsmodus der Datei stehen). Es ist " "entweder B oder das bitweise ODER von einem oder mehreren der " "folgenden Schalter:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may be executed." msgstr "Seiten können ausgeführt werden." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may be read." msgstr "Seiten dürfen gelesen werden." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may be written." msgstr "Seiten dürfen beschrieben werden." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may not be accessed." msgstr "Auf die Seiten darf nicht zugegriffen werden." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "The flags argument" msgstr "Das Argument »Schalter«" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument determines whether updates to the mapping are visible " "to other processes mapping the same region, and whether updates are carried " "through to the underlying file. This behavior is determined by including " "exactly one of the following values in I:" msgstr "" "Das Argument I bestimmt, ob Aktualisierungen des Mappings für " "andere Prozesse sichtbar sind, die denselben Bereich mappen und ob " "Aktualisierungen auch in die zugrundeliegende Datei weitergereicht werden. " "Dieses Verhalten wird durch genau einen der folgenden Werte in I " "festgelegt:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Share this mapping. Updates to the mapping are visible to other processes " "mapping the same region, and (in the case of file-backed mappings) are " "carried through to the underlying file. (To precisely control when updates " "are carried through to the underlying file requires the use of B(2).)" msgstr "" "Das Mapping gemeinsam benutzen. Aktualisierungen dieses Mappings sind für " "andere Prozesse in dem gleichen Bereich sichtbar und (falls es sich um Datei-" "basierende Mappings handelt) werden zu der zugrundeliegenden Datei " "weitergereicht. (Um genau zu steuern, wann Aktualisierungen zu der " "zugrundeliegenden Datei weitergereicht werden, muss B(2) eingesetzt " "werden.)" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.15)" msgstr "B (seit Linux 4.15)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag provides the same behavior as B except that " "B mappings ignore unknown flags in I. By contrast, when " "creating a mapping using B, the kernel verifies all " "passed flags are known and fails the mapping with the error B " "for unknown flags. This mapping type is also required to be able to use " "some mapping flags (e.g., B)." msgstr "" "Dieser Schalter stellt das gleiche Verhalten wie B bereit, außer " "dass B-Mappings unbekannte Schalter in I ignorieren. " "Im Gegensatz überprüft der Kernel, wenn er Mappings mittels " "B erstellt, dass alle übergebenen Schalter bekannt sind " "und schlägt mit dem Fehler B bei unbekannten Schaltern fehl. " "Dieser Mapping-Typ wird auch benötigt, um bestimmte Mapping-Schalter (z.B. " "B) verwenden zu können." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Create a private copy-on-write mapping. Updates to the mapping are not " "visible to other processes mapping the same file, and are not carried " "through to the underlying file. It is unspecified whether changes made to " "the file after the B() call are visible in the mapped region." msgstr "" "Erstellt ein privates, beim Kopieren zu schreibendes Mapping. " "Aktualisierungen an dem Mapping sind für andere Prozesse, die die gleiche " "Datei mappen, nicht sichtbar, und werden nicht an die zugrundeliegende Datei " "weitergeleitet. Es ist nicht spezifiziert, ob Änderungen an der Datei, die " "nach dem Aufruf von B() erfolgen, in der gemappten Region sichtbar " "sind." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Both B and B are described in POSIX.1-2001 and " "POSIX.1-2008. B is a Linux extension." msgstr "" "Sowohl B als auch B werden in POSIX.1-2001 und " "POSIX.1-2008 beschrieben. B ist eine Linux-Erweiterung." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition, zero or more of the following values can be ORed in I:" msgstr "" "Zusätzlich können null oder mehrere der folgenden Werte mit OR in " "I hinzugefügt werden:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.4.20, 2.6)" msgstr "B (seit Linux 2.4.20, 2.6)" #. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Put the mapping into the first 2 Gigabytes of the process address space. " "This flag is supported only on x86-64, for 64-bit programs. It was added to " "allow thread stacks to be allocated somewhere in the first 2\\ GB of memory, " "so as to improve context-switch performance on some early 64-bit " "processors. Modern x86-64 processors no longer have this performance " "problem, so use of this flag is not required on those systems. The " "B flag is ignored when B is set." msgstr "" "Legt das Mapping in die ersten zwei Gigabyte des Prozessadressraums. Dieser " "Schalter wird nur auf X86-64 für 64-Bit-Programme unterstützt. Er wurde " "hinzugefügt, damit Thread-Stacks irgendwo innerhalb der ersten 2\\ GB " "Speicher zugewiesen werden können, damit die Leistung des Kontext-" "Umschaltens auf einigen der ersten 64-Bit-Prozessoren erhöht wird. Moderne " "X86-64-Prozessoren haben dieses Leistungsproblem nicht mehr, wodurch der " "Einsatz dieses Schalters auf diesen Systemen nicht mehr benötigt wird. Der " "Schalter B wird ignoriert, wenn B gesetzt ist." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Synonym for B; provided for compatibility with other " "implementations." msgstr "" "Synonym für B; zur Kompatibilität mit anderen " "Implementierungen bereitgestellt." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. See the pgoff overflow check in do_mmap(). #. See the offset check in sys_mmap in arch/x86/kernel/sys_x86_64.c. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The mapping is not backed by any file; its contents are initialized to " "zero. The I argument is ignored; however, some implementations require " "I to be -1 if B (or B) is specified, and " "portable applications should ensure this. The I argument should be " "zero. Support for B in conjunction with B was " "added in Linux 2.4." msgstr "" "Diesem Mapping liegt keine Datei zugrunde; ihr Inhalt wird mit Nullen " "initialisiert. Das Argument I
wird ignoriert, einige Implementierungen " "verlangen aber, dass I
-1 ist, falls B (oder B) " "festgelegt ist, und portable Anwendungen sollten dies sicherstellen. Das " "Argument I sollte 0 sein. Die Unterstützung für B " "mit B wurde in Linux 2.4 hinzugefügt." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. Introduced in 1.1.36, removed in 1.3.24. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is ignored. (Long ago\\[em]Linux 2.0 and earlier\\[em]it signaled " "that attempts to write to the underlying file should fail with B. " "But this was a source of denial-of-service attacks.)" msgstr "" "Dieser Schalter wird ignoriert. (Vor langer Zeit \\[en] Linux 2.0 und älter " "\\[en] signalisierte er, dass Schreibversuche auf die zugrundeliegende Datei " "mit B fehlschlagen sollten. Dies war aber eine Quelle von " "Diensteverweigerungsangriffen." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. Introduced in 1.1.38, removed in 1.3.24. Flag tested in proc_follow_link. #. (Long ago, it signaled that the underlying file is an executable. #. However, that information was not really used anywhere.) #. Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of #. MAP_DENYWRITE? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "This flag is ignored." msgstr "Dieser Schalter wird ignoriert." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. On some systems, this was required as the opposite of #. MAP_ANONYMOUS -- mtk, 1 May 2007 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Compatibility flag. Ignored." msgstr "Kompatibilitätsschalter. Ignoriert." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Don't interpret I as a hint: place the mapping at exactly that " "address. I must be suitably aligned: for most architectures a " "multiple of the page size is sufficient; however, some architectures may " "impose additional restrictions. If the memory region specified by I " "and I overlaps pages of any existing mapping(s), then the overlapped " "part of the existing mapping(s) will be discarded. If the specified address " "cannot be used, B() will fail." msgstr "" "I wird nicht als Hinweis interpretiert; legt das Mapping genau an " "dieser Adresse an. I muss geeignet ausgerichtet sein: bei den meisten " "Architekturen reicht ein Vielfaches der Seitengröße aus, allerdings könnten " "einige Architekturen zusätzliche Anforderungen stellen. Falls der mit I " "und I festgelegte Speicherbereich bestehende Mappings überlappt, " "dann wird der überlappende Anteil des bestehenden Mappings verworfen. Falls " "die angegebene Adresse nicht verwandt werden kann, wird B() " "fehlschlagen." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Software that aspires to be portable should use the B flag with " "care, keeping in mind that the exact layout of a process's memory mappings " "is allowed to change significantly between Linux versions, C library " "versions, and operating system releases. I" msgstr "" "Software, die Portierbarkeit anstrebt, sollte den Schalter B mit " "Vorsicht verwenden und dabei berücksichtigen, dass sich die genaue Anordnung " "der Mappings des Prozesses im Speicher deutlich zwischen Linuxversionen, C-" "Bibliotheksversionen und Betriebssystemveröffentlichungen unterscheiden " "kann. I" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.17)" msgstr "B (seit Linux 4.17)" #. commit a4ff8e8620d3f4f50ac4b41e8067b7d395056843 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag provides behavior that is similar to B with respect to " "the I enforcement, but differs in that B never " "clobbers a preexisting mapped range. If the requested range would collide " "with an existing mapping, then this call fails with the error B " "This flag can therefore be used as a way to atomically (with respect to " "other threads) attempt to map an address range: one thread will succeed; all " "others will report failure." msgstr "" "Dieser Schalter stellt ein Verhalten bereit, das B im Hinblick " "auf die Erzwingung von I ähnelt, sich aber dadurch unterscheidet, dass " "B einen bereits bestehenden, gemappten Bereich " "durcheinanderbringt. Falls der angeforderte Bereich mit einem bestehenden " "Mapping kollidieren würde, dann schlägt dieser Aufruf mit B fehl. " "Dieser Schalter kann daher für atomare (im Hinblick auf andere Threads) " "Versuche, einen Adressbereich zu mappen, verwandt werden: ein Thread hat " "Erfolg, alle anderen berichten einen Fehlschlag." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that older kernels which do not recognize the B " "flag will typically (upon detecting a collision with a preexisting mapping) " "fall back to a \\[lq]non-B\\[rq] type of behavior: they will " "return an address that is different from the requested address. Therefore, " "backward-compatible software should check the returned address against the " "requested address." msgstr "" "Beachten Sie, dass ältere Kernel, die den Schalter B " "nicht erkennen, typischerweise (bei der Erkennung einer Kollision mit einem " "bereits bestehenden Mapping) auf den Verhaltenstyp von »nicht-B« " "zurückfallen: sie liefern eine Adresse zurück, die sich von der " "angeforderten Adresse unterscheidet. Daher sollte rückwärtskompatible " "Software die zurückgelieferte Adresse mit der angeforderten Adresse " "vergleichen." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is used for stacks. It indicates to the kernel virtual memory " "system that the mapping should extend downward in memory. The return " "address is one page lower than the memory area that is actually created in " "the process's virtual address space. Touching an address in the \"guard\" " "page below the mapping will cause the mapping to grow by a page. This " "growth can be repeated until the mapping grows to within a page of the high " "end of the next lower mapping, at which point touching the \"guard\" page " "will result in a B signal." msgstr "" "Dieser Schalter wird für Stacks verwandt. Er zeigt dem Kernelsystem für " "virtuellen Speicher an, dass sich das Mapping nach unten im Speicher " "ausdehnen soll. Die zurückgelieferte Adresse ist eine Seite tiefer als der " "Speicherbereich, der tatsächlich im virtuellen Adressraum des Prozesses " "erstellt wird. Wird eine Adresse in der »Wächter«-Seite unterhalb des " "Mappings berührt, dann wächst das Mapping um eine Seite. Dieses Wachstum " "kann wiederholt werden, bis das Mapping bis auf eine Seite innerhalb des " "hohen Endes des nächst-niedrigeren Mappings anwächst - zu diesem Zeitpunkt " "führt das Berühren der »Wächter«-Seite zu einem B-Signal." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.32)" msgstr "B (seit Linux 2.6.32)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allocate the mapping using \"huge\" pages. See the Linux kernel source file " "I for further information, as " "well as NOTES, below." msgstr "" "Reserviert das Mapping mittels »großer« Speicherseiten. Siehe die Linux-" "Kernelquelldatei I sowie die " "nachfolgenden ANMERKUNGEN für weitere Details." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.8)" msgstr "B (seit Linux 3.8)" #. See https://lwn.net/Articles/533499/ #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Used in conjunction with B to select alternative hugetlb page " "sizes (respectively, 2\\ MB and 1\\ GB) on systems that support multiple " "hugetlb page sizes." msgstr "" "Wird in Zusammenhang mit B verwandt, um alternative hugetlb-" "Seitengrößen (respektive 2\\ MB und 1\\ GB) auf Systemen auszuwählen, die " "mehrere hugetlb-Seitengrößen unterstützen." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "More generally, the desired huge page size can be configured by encoding the " "base-2 logarithm of the desired page size in the six bits at the offset " "B. (A value of zero in this bit field provides the default " "huge page size; the default huge page size can be discovered via the " "I field exposed by I.) Thus, the above two " "constants are defined as:" msgstr "" "Allgemeiner kann die gewünschte Größe der großen Speicherseiten durch " "Kodierung des Logarithmus zur Basis 2 der gewünschten Seitengröße in den " "sechs Bits am Versatz B konfiguriert werden. (Ein Wert 0 in " "diesem Bitfeld stellt die standardmäßige große Speicherseitengröße bereit; " "die Vorgabegröße großer Speicherseiten kann mittels des durch I offengelegten Feldes I ermittelt werden.) Daher sind " "die obigen zwei Konstanten wie folgt definiert:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "#define MAP_HUGE_2MB (21 EE MAP_HUGE_SHIFT)\n" "#define MAP_HUGE_1GB (30 EE MAP_HUGE_SHIFT)\n" msgstr "" "#define MAP_HUGE_2MB (21 EE MAP_HUGE_SHIFT)\n" "#define MAP_HUGE_1GB (30 EE MAP_HUGE_SHIFT)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The range of huge page sizes that are supported by the system can be " "discovered by listing the subdirectories in I." msgstr "" "Der von dem System unterstützte Bereich der Größe der großen Speicherseiten " "kann durch Auflisten der Unterverzeichnisse in I " "ermittelt werden." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.37)" msgstr "B (seit Linux 2.5.37)" #. If set, the mapped pages will not be swapped out. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Mark the mapped region to be locked in the same way as B(2). This " "implementation will try to populate (prefault) the whole range but the " "B() call doesn't fail with B if this fails. Therefore major " "faults might happen later on. So the semantic is not as strong as " "B(2). One should use B() plus B(2) when major faults " "are not acceptable after the initialization of the mapping. The " "B flag is ignored in older kernels." msgstr "" "Markiert den gemappten Bereich auf die gleiche Art wie B(2). Diese " "Implementierung wird versuchen, den gesamten Bereich vorzubelegen " "(»prefault«) aber der Aufruf von B() wird nicht mit B " "fehlschlagen, falls dies nicht gelingt. Daher können später große " "Ausnahmebehandlungen passieren. Daher ist die Semantik nicht so stark wie " "B(2). Sie sollten B() mit B(2) verwenden, wenn große " "Ausnahmebehandlungen nach der Initialisierung des Mappings nicht " "akzeptierbar sind. Der Schalter B wird unter älteren Kerneln " "ignoriert." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (seit Linux 2.5.46)" #. commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is meaningful only in conjunction with B. Don't " "perform read-ahead: create page tables entries only for pages that are " "already present in RAM. Since Linux 2.6.23, this flag causes " "B to do nothing. One day, the combination of B " "and B may be reimplemented." msgstr "" "Dieser Schalter ergibt nur im Zusammenhang mit B Sinn. Es wird " "kein Vorauslesen durchgeführt, es werden Seitentabelleneinträge nur für " "Seiten erstellt, die bereits im RAM vorhanden sind. Seit Linux 2.6.23 führt " "dieser Schalter dazu, dass B nichts macht. Irgendwann könnte " "die Kombination von B und B wieder implementiert " "werden." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Do not reserve swap space for this mapping. When swap space is reserved, " "one has the guarantee that it is possible to modify the mapping. When swap " "space is not reserved one might get B upon a write if no physical " "memory is available. See also the discussion of the file I in B(5). Before Linux 2.6, this flag had effect " "only for private writable mappings." msgstr "" "Reserviert für dieses Mapping keinen Auslagerungsspeicher. Wenn " "Auslagerungsspeicher reserviert wird, muss garantiert werden, dass " "Änderungen an dem Mapping möglich sind. Wird kein Auslagerungsspeicher " "reserviert, könnte beim Schreiben ein B empfangen werden, falls " "kein physischer Speicher verfügbar ist. Siehe auch die Diskussion der Datei " "I in B(5). Vor Linux 2.6 hatte dieser " "Schalter nur für private, schreibbare Mappings eine Wirkung." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (seit Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Populate (prefault) page tables for a mapping. For a file mapping, this " "causes read-ahead on the file. This will help to reduce blocking on page " "faults later. The B() call doesn't fail if the mapping cannot be " "populated (for example, due to limitations on the number of mapped huge " "pages when using B). Support for B in " "conjunction with private mappings was added in Linux 2.6.23." msgstr "" "Belegt (»prefault«) Seitentabellen für ein Mapping. Für ein Datei-Mapping " "führt dies zu einem Vorablesen der Datei. Dies hilft dabei, später " "Blockierungen bei Seitenausnahmebehandlungen zu vermeiden. Der Aufruf " "B() schlägt nicht fehl, falls das Mapping nicht belegt werden kann " "(beispielsweise aufgrund von Beschränkungen der Anzahl der gemappten großen " "Seiten bei der Verwendung von B). Die Unterstützung für " "B zusammen mit privaten Mappings wurde in Linux 2.6.23 " "hinzugefügt." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.27)" msgstr "B (seit Linux 2.6.27)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allocate the mapping at an address suitable for a process or thread stack." msgstr "" "Reserverviert ein Mapping an einer Adresse, die für einen Stack eines " "Prozesses oder Threads geeignet ist." #. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 #. commit cd98a04a59e2f94fa64d5bf1e26498d27427d5e7 #. http://thread.gmane.org/gmane.linux.kernel/720412 #. "pthread_create() slow for many threads; also time to revisit 64b #. context switch optimization?" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is currently a no-op on Linux. However, by employing this flag, " "applications can ensure that they transparently obtain support if the flag " "is implemented in the future. Thus, it is used in the glibc threading " "implementation to allow for the fact that some architectures may (later) " "require special treatment for stack allocations. A further reason to employ " "this flag is portability: B exists (and has an effect) on some " "other systems (e.g., some of the BSDs)." msgstr "" "Dieser Schalter löst derzeit nichts aus. Durch Einsatz dieses Schalters " "können Anwendungen aber transparent sicherstellen, dass sie die " "Unterstützung erlangen, wenn dieser Schalter in der Zukunft implementiert " "wird. Daher wird er in der Glibc-Threading-Implementierung verwandt, um der " "Tatsache Rechnung zu tragen, dass auf einigen Architekturen (später) eine " "besondere Behandlung von Stack-Zuweisungen nötig sein könnte. Ein weiterer " "Grund, diesen Schalter einzusetzen, ist die Portabilität: B " "existiert (und hat eine Auswirkung) auf einigen anderen Systemen (z.B. " "einigen BSDs)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.15)" msgstr "B (seit Linux 4.15)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is available only with the B mapping type; " "mappings of type B will silently ignore this flag. This flag is " "supported only for files supporting DAX (direct mapping of persistent " "memory). For other files, creating a mapping with this flag results in an " "B error." msgstr "" "Dieser Schalter ist nur mit dem Mapping-Typ B " "verfügbar. Mappings vom Typ B ignorieren diesen Schalter ohne " "Rückmeldung. Dieser Schalter wird nur für Dateien, die DAX (direktes Mapping " "von dauerhaftem Speicher) unterstützen, unterstützt. Für andere Dateien wird " "das Erstellen eines Mappings mit diesem Schalter zu einem B-" "Fehler führen." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Shared file mappings with this flag provide the guarantee that while some " "memory is mapped writable in the address space of the process, it will be " "visible in the same file at the same offset even after the system crashes or " "is rebooted. In conjunction with the use of appropriate CPU instructions, " "this provides users of such mappings with a more efficient way of making " "data modifications persistent." msgstr "" "Gemeinsame Datei-Mappings mit diesem Schalter garantieren, dass der " "schreibbare eingemappte Speicheranteil im Adressraum des Prozesses auch in " "der gleichen Datei an dem gleichen Versatz selbst nach einem Systemabsturz " "oder -neustart sichtbar ist. Im Zusammenhang mit dem Einsatz geeigneter CPU-" "Anweisungen stellt dieses Benutzern solcher Mappings eine effizientere Art " "bereit, solche Datenveränderungen dauerhaft zu machen." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.33)" msgstr "B (seit Linux 2.6.33)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Don't clear anonymous pages. This flag is intended to improve performance " "on embedded devices. This flag is honored only if the kernel was configured " "with the B option. Because of the security " "implications, that option is normally enabled only on embedded devices (i." "e., devices where one has complete control of the contents of user memory)." msgstr "" "Die anonymen Seiten nicht bereinigen. Dieser Schalter ist für die " "Verbesserung der Leistung auf eingebetteten Systemen gedacht. Dieser " "Schalter wird nur berücksichtigt, falls der Kernel mit der Option " "B konfiguriert worden war. Aufgrund der " "Sicherheitsauswirkungen wird diese Option normalerweise nur auf " "eingebetteten Geräten (d.h. Geräten, bei denen komplette Kontrolle über die " "Speicherinhalte besteht) aktiviert." #. FIXME . for later review when Issue 8 is one day released... #. POSIX may add MAP_ANON in the future #. http://austingroupbugs.net/tag_view_page.php?tag_id=8 #. http://austingroupbugs.net/view.php?id=850 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Of the above flags, only B is specified in POSIX.1-2001 and " "POSIX.1-2008. However, most systems also support B (or its " "synonym B)." msgstr "" "Von den obigen Schaltern ist nur B in POSIX.1-2001 und " "POSIX.1-2008 spezifiziert. Allerdings unterstützen die meisten Systeme " "B (oder sein Synonym B)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "munmap()" msgstr "munmap()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() system call deletes the mappings for the specified address " "range, and causes further references to addresses within the range to " "generate invalid memory references. The region is also automatically " "unmapped when the process is terminated. On the other hand, closing the " "file descriptor does not unmap the region." msgstr "" "Der B-Systemaufruf hebt die Mappings im angegebenen Speicherbereich " "auf. Zukünftige Zugriffe auf diesen Adressraum erzeugen dann einen Fehler " "vom Typ »invalid memory reference« - Ungültiger Speicherzugriff. Der " "Adressraum wird außerdem automatisch ausgemappt, wenn der Prozess beendet " "wird. Das Schließen des Dateideskriptors hingegen führt nicht dazu, dass der " "Adress-Mapping aufgehoben wird." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The address I must be a multiple of the page size (but I need " "not be). All pages containing a part of the indicated range are unmapped, " "and subsequent references to these pages will generate B. It is " "not an error if the indicated range does not contain any mapped pages." msgstr "" "Die Adresse I muss ein Vielfaches der Seitengröße sein (für I " "ist das nicht der Fall). Alle Seiten, die einen Teil des angezeigten " "Bereichs enthalten, werden ausgemappt, und nachfolgende Referenzen auf diese " "Seiten führen zu B. Es ist kein Fehler, falls der angezeigte " "Bereich keine gemappten Seiten enthält." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "RÜCKGABEWERT" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, B() returns a pointer to the mapped area. On error, the " "value B (that is, I<(void\\ *)\\ -1>) is returned, and I " "is set to indicate the error." msgstr "" "Bei Erfolg gibt B einen Zeiger auf den gemappten Speicherbereich " "zurück. Bei Fehlern wird B (I<(void\\ *)\\ -1>) zurückgegeben " "und I gesetzt, um den Fehler anzuzeigen." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, B() returns 0. On failure, it returns -1, and I " "is set to indicate the error (probably to B)." msgstr "" "Bei Erfolg liefert B() 0 zurück. Im Fehlerfall liefert es -1 und " "I wird gesetzt, um den Fehler (wahrscheinlich B) anzuzeigen." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "FEHLER" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A file descriptor refers to a non-regular file. Or a file mapping was " "requested, but I is not open for reading. Or B was " "requested and B is set, but I is not open in read/write " "(B) mode. Or B is set, but the file is append-only." msgstr "" "Ein Dateideskriptor bezieht sich auf eine nicht normale Datei. Oder ein " "Datei-Mapping wurde angefordert, aber I
ist nicht zum Lesen geöffnet. " "Oder B wurde erbeten und B ist gesetzt, aber I
" "ist nicht zum Lesen/Schreiben geöffnet (B). Oder B ist " "angegeben, aber die Datei darf nur am Ende weiter beschrieben werden " "(»append-only«)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The file has been locked, or too much memory has been locked (see " "B(2))." msgstr "" "Die Datei wurde gesperrt oder zuviel Speicher wurde gesperrt (siehe " "B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is not a valid file descriptor (and B was not set)." msgstr "" "I
ist kein gültiger Dateideskriptor (und B wurde nicht " "gesetzt)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified in I, and the range covered by " "I and I clashes with an existing mapping." msgstr "" "B wurde in I angegeben und der durch I " "und I abgedeckte Bereich überschneidet sich mit einem bestehenden " "Mapping." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We don't like I, I, or I (e.g., they are too large, or " "not aligned on a page boundary)." msgstr "" "Die Adressen, die durch I, I oder I angegeben wurden, " "sind ungültig. (Z.B. sind sie zu groß oder nicht an einer " "Speicherseitengröße ausgerichtet.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since Linux 2.6.12) I was 0." msgstr "(seit Linux 2.6.12) I war 0." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I contained none of B, B, or " "B." msgstr "" "I enthielt weder B, B noch " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. This is for shared anonymous segments #. [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() #. .TP #. .B ENOEXEC #. A file could not be mapped for reading. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The system-wide limit on the total number of open files has been reached." msgstr "" "Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde " "erreicht." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The underlying filesystem of the specified file does not support memory " "mapping." msgstr "" "Das zugrundeliegende Dateisystem der angegebenen Datei unterstützt das " "Speicher-Mapping nicht." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "No memory is available." msgstr "Es ist kein Speicher verfügbar." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The process's maximum number of mappings would have been exceeded. This " "error can also occur for B(), when unmapping a region in the middle " "of an existing mapping, since this results in two smaller mappings on either " "side of the region being unmapped." msgstr "" "Die maximale Anzahl von Mappings des Prozesses würde überschritten. Dieser " "Fehler kann auch für B() beim Aufheben von Mappings einer Region in " "der Mitte eines bestehenden Mappings auftreten, da dies zu zwei kleineren " "Mappings auf jeder Seite des entmappten Bereichs führt." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(since Linux 4.7) The process's B limit, described in " "B(2), would have been exceeded." msgstr "" "(seit Linux 4.7). Die Prozessbeschränkung B, beschrieben in " "B(2), würde überschritten." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We don't like I, because it exceeds the virtual address space of the " "CPU." msgstr "" "Wir mögen I nicht, da es den virtuellen Adressraum der CPU " "überschreitet." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On 32-bit architecture together with the large file extension (i.e., using " "64-bit I): the number of pages used for I plus number of " "pages used for I would overflow I (32 bits)." msgstr "" "Auf 32-Bit-Architekturen zusammen mit den Erweiterungen für große Dateien (d." "h. der Verwendung von 64-Bit I): die Anzahl der für I sowie " "die Anzahl der für I verwandten Seiten würde einen Überlauf von " "I (32-Bit) hervorrufen." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. (Since Linux 2.4.25 / Linux 2.6.0.) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument asks for B but the mapped area belongs to a " "file on a filesystem that was mounted no-exec." msgstr "" "Das Argument I verlangt B, aber der gemappte Bereich gehört " "zu einer Datei auf einem Dateisystem, das ohne Ausführrechte eingehängt " "wurde (»no-exec«)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The operation was prevented by a file seal; see B(2)." msgstr "" "Die Aktion wurde durch eine Dateiversiegelung verhindert; siehe B(2)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The B flag was specified, but the caller was not privileged " "(did not have the B capability) and is not a member of the " "I group; see the description of I in B(5)." msgstr "" "Der Schalter B wurde angegeben, aber der Aufrufende war nicht " "privilegiert (verfügte nicht über die Capability B) und ist " "kein Mitglied der Gruppe I; siehe die Beschreibung " "von I in B(5)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was set but the object specified by I is open for " "writing." msgstr "" "B wurde angegeben, aber das durch I
bezeichnete Objekt " "ist zum Schreiben geöffnet." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Use of a mapped region can result in these signals:" msgstr "" "Die Verwendung eines gemappten Bereichs kann diese Signale verursachen:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Attempted write into a region mapped as read-only." msgstr "" "Es wurde versucht, in einen Bereich zu schreiben, der nur lesbar gemappt " "wurde." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attempted access to a page of the buffer that lies beyond the end of the " "mapped file. For an explanation of the treatment of the bytes in the page " "that corresponds to the end of a mapped file that is not a multiple of the " "page size, see NOTES." msgstr "" "Es wurde versucht, auf eine Seite des Puffers zuzugreifen, die hinter dem " "Ende der gemappten Datei liegt. Für eine Erläuterung der Behandlung von " "Bytes in der Seite, die dem Ende der gemappten Datei entspricht, die kein " "Vielfaches der Seitengröße ist, siehe ANMERKUNGEN." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "ATTRIBUTE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" "Siehe B(7) für eine Erläuterung der in diesem Abschnitt " "verwandten Ausdrücke." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Schnittstelle" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Attribut" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Wert" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B()" msgstr "" "B(),\n" "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Multithread-Fähigkeit" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Sicher" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONEN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On some hardware architectures (e.g., i386), B implies " "B. It is architecture dependent whether B implies " "B or not. Portable programs should always set B if " "they intend to execute code in the new mapping." msgstr "" "Auf einigen Hardware-Architekturen (z.B. i386) impliziert B " "B. Es ist architekturabhängig, ob B B " "impliziert (oder nicht). Portable Programme sollten immer B " "setzen, falls sie vorhaben, Code in dem neuen Mapping auszuführen." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The portable way to create a mapping is to specify I as 0 (NULL), and " "omit B from I. In this case, the system chooses the " "address for the mapping; the address is chosen so as not to conflict with " "any existing mapping, and will not be 0. If the B flag is " "specified, and I is 0 (NULL), then the mapped address will be 0 (NULL)." msgstr "" "Die portierbare Art, ein Mapping zu erstellen, ist die Angabe von I als " "0 (NULL) und das Auslassen von B aus I. In diesem Fall " "wählt das System die Adresse für das Mapping; die Adresse wird so gewählt, " "dass sie mit keinem bestehenden Mapping in Konflikt steht und nicht 0 sein " "wird. Falls der Schalter B angegeben und I 0 (NULL) ist, " "dann wird die gemappte Adresse 0 (NULL) sein." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Certain I constants are defined only if suitable feature test macros " "are defined (possibly by default): B<_DEFAULT_SOURCE> with glibc 2.19 or " "later; or B<_BSD_SOURCE> or B<_SVID_SOURCE> in glibc 2.19 and earlier. " "(Employing B<_GNU_SOURCE> also suffices, and requiring that macro " "specifically would have been more logical, since these flags are all Linux-" "specific.) The relevant flags are: B, B (and the " "synonym B), B, B, B, " "B, B, B, B, " "B, B, and B." msgstr "" "Bestimmte I-Konstanten sind nur definiert, falls die geeigneten " "Feature-Test-Makros definiert sind (möglicherweise standardmäßig): " "B<_DEFAULT_SOURCE> mit Glibc 2.19 oder neuer; oder B<_BSD_SOURCE> oder " "B<_SVID_SOURCE> in Glibc 2.19 und älter. (Es reicht auch aus, B<_GNU_SOURCE> " "einzusetzen, und dieses Makro zu verlangen, wäre logischer gewesen, da alle " "diese Schalter Linux-spezifisch sind). Die relevanten Schalter sind: " "B, B (und das Synonym B), " "B, B, B, B, " "B, B, B, B, " "B und B." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "Unterschiede C-Bibliothek/Kernel" #. Since around glibc 2.1/2.2, depending on the platform. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This page describes the interface provided by the glibc B() wrapper " "function. Originally, this function invoked a system call of the same " "name. Since Linux 2.4, that system call has been superseded by B(2), " "and nowadays the glibc B() wrapper function invokes B(2) with " "a suitably adjusted value for I." msgstr "" "Diese Seite beschreibt die durch den B()-Wrapper der Glibc " "bereitgestellte Funktion. Ursprünglich rief diese Funktion einen " "Systemaufruf mit dem gleichen Namen auf. Seit Linux 2.4 wurde dieser " "Systemaufruf durch B(2) ersetzt und heutzutage ruft die " "Wrapperfunktion B() der Glibc B(2) mit einem geeignet " "angepassten Wert für I auf." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "GESCHICHTE" #. SVr4 documents additional error codes ENXIO and ENODEV. #. SUSv2 documents additional error codes EMFILE and EOVERFLOW. #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001, SVr4, 4.4BSD." msgstr "POSIX.1-2001, SVr4, 4.4BSD." #. POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. #. -1: unavailable, 0: ask using sysconf(). #. glibc defines it to 1. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On POSIX systems on which B(), B(2), and B() are " "available, B<_POSIX_MAPPED_FILES> is defined in Iunistd.hE> to a " "value greater than 0. (See also B(3).)" msgstr "" "Auf POSIX-Systemen, auf denen B(), B(2) und B() " "verfügbar sind, ist B<_POSIX_MAPPED_FILES> in Iunistd.hE> auf " "einen Wert größer 0 definiert. (Siehe auch B(3).)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ANMERKUNGEN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Memory mapped by B() is preserved across B(2), with the same " "attributes." msgstr "" "Speicher, der mit B() gemappt wurde, wird über B(2) hinweg mit " "den gleichen Attributen erhalten." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A file is mapped in multiples of the page size. For a file that is not a " "multiple of the page size, the remaining bytes in the partial page at the " "end of the mapping are zeroed when mapped, and modifications to that region " "are not written out to the file. The effect of changing the size of the " "underlying file of a mapping on the pages that correspond to added or " "removed regions of the file is unspecified." msgstr "" "Eine Datei wird in Vielfachen der Seitengröße gemappt. Für eine Datei, die " "nicht ein Vielfaches der Seitengröße ist, werden die verbliebenen Bytes in " "der unvollständigen Seite am Ende des Mappings beim Mappen mit Nullen " "überschrieben und Änderungen an diesem Bereich werden nicht in die Datei " "geschrieben. Es ist nicht spezifiziert, wie sich die Größenänderung der " "zugrundeliegenden Datei auf das Mapping der Seiten, die hinzugefügten oder " "entfernten Regionen der Datei entsprechen, auswirkt." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "An application can determine which pages of a mapping are currently resident " "in the buffer/page cache using B(2)." msgstr "" "Durch Verwendung von B(2) kann eine Anwendung ermitteln, welche " "Seiten eines Mappings sich derzeit im Puffer/Seitenzwischenspeicher befinden." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Using MAP_FIXED safely" msgstr "MAP_FIXED sicher benutzen" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The only safe use for B is where the address range specified by " "I and I was previously reserved using another mapping; " "otherwise, the use of B is hazardous because it forcibly removes " "preexisting mappings, making it easy for a multithreaded process to corrupt " "its own address space." msgstr "" "Der einzige sichere Anwendungsfall für B ist, falls der durch " "I und I festgelegte Adressbereich vorher durch ein anderes " "Mapping reserviert wurde; andernfalls ist die Verwendung von B " "gefährlich, da sie bereits bestehende Mappings zwangsweise entfernt, wodurch " "es für einen Prozess mit mehreren Threads leicht wird, seinen eigenen " "Adressraum zu beschädigen." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For example, suppose that thread A looks through IpidI in " "order to locate an unused address range that it can map using B, " "while thread B simultaneously acquires part or all of that same address " "range. When thread A subsequently employs B, it will " "effectively clobber the mapping that thread B created. In this scenario, " "thread B need not create a mapping directly; simply making a library call " "that, internally, uses B(3) to load some other shared library, will " "suffice. The B(3) call will map the library into the process's " "address space. Furthermore, almost any library call may be implemented in a " "way that adds memory mappings to the address space, either with this " "technique, or by simply allocating memory. Examples include B(2), " "B(3), B(3), and the PAM libraries E<.UR http://www." "linux-pam.org> E<.UE .>" msgstr "" "Nehmen wir beispielsweise an, dass Thread A IPIDI durchsucht, " "um einen nicht benutzten Adressbereich zu finden, den er mittels " "B mappen kann, während Thread B gleichzeitig Teile des gleichen " "Adressbereichs (oder den gesamten Adressbereich) erlangt. Wenn Thread A " "anschließend B einsetzt, wird es das Mapping, das Thread B " "erstellte, durcheinanderbringen. In diesem Szenario muss Thread B nicht das " "Mapping direkt erstellen: einfach ein Aufruf einer Bibliotheksfunktion, die " "intern B(3) zum Laden einer anderen dynamische Bibliothek verwendet, " "reicht aus. Der Aufruf von B(3) wird die Bibliothek in den " "Adressraum des Prozesses einmappen. Desweiteren kann fast jeder " "Bibliotheksaufruf auf eine Art implementiert sein, die Speicher-Mappings zu " "dem Adressraum hinzufügt, entweder mit dieser Technik oder einfach durch " "Reservierung von Speicher. Beispiele sind B(2), B(3), " "B(3) und die PAM-Bibliotheken E<.UR http://www.linux-pam." "org> E<.UE .>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 4.17, a multithreaded program can use the B " "flag to avoid the hazard described above when attempting to create a mapping " "at a fixed address that has not been reserved by a preexisting mapping." msgstr "" "Seit Linux 4.17 kann ein Multithread-Programm den Schalter " "B verwenden, um die oben beschriebene Gefahr zu " "vermeiden, dass ein Mapping an einer festen Adresse versucht wird, die nicht " "durch ein bereits existierendes Mapping reserviert wurde." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Timestamps changes for file-backed mappings" msgstr "Zeitstempeländerungen für Datei-basierte Mappings" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For file-backed mappings, the I field for the mapped file may be " "updated at any time between the B() and the corresponding unmapping; " "the first reference to a mapped page will update the field if it has not " "been already." msgstr "" "Für Datei-basierte Mappings wird das Feld I für die gemappte Datei " "zu jedem Zeitpunkt zwischen B() und dem entsprechenden Entmappen " "aufgerufen werden; die erste Referenz auf die gemappte Seite wird das Feld " "aktualisieren, falls es nicht bereits erfolgt ist." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I and I field for a file mapped with B " "and B will be updated after a write to the mapped region, and " "before a subsequent B(2) with the B or B flag, if " "one occurs." msgstr "" "Das Feld I und I für eine mit B und " "B gemappte Datei wird nach einem Schreibzugriff auf den " "gemappten Bereich und vor dem nachfolgenden B(2) mit den Schalter " "B oder B, falls dieser erfolgt, aktualisiert." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Huge page (Huge TLB) mappings" msgstr "Mappings großer Speicherseiten (Huge TLB)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For mappings that employ huge pages, the requirements for the arguments of " "B() and B() differ somewhat from the requirements for " "mappings that use the native system page size." msgstr "" "Für Mappings, die große Speicherseiten einsetzen, unterscheiden sich die " "Anforderungen für die Argumente von B() und B() etwas von den " "Anforderungen für Mappings, die die native Systemseitengröße verwenden." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B(), I must be a multiple of the underlying huge page " "size. The system automatically aligns I to be a multiple of the " "underlying huge page size." msgstr "" "Für B() muss I ein Vielfaches der unterliegenden Größe der " "großen Speicherseiten sein. Das System richtet I automatisch aus, " "dass es ein Vielfaches der unterliegenden Größe der großen Speicherseiten " "ist." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B(), I, and I must both be a multiple of the " "underlying huge page size." msgstr "" "Für B() müssen sowohl I als auch I ein Vielfaches der " "unterliegenden Größe der großen Speicherseiten sein." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "FEHLER" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On Linux, there are no guarantees like those suggested above under " "B. By default, any process can be killed at any moment when " "the system runs out of memory." msgstr "" "Unter Linux gibt es keine Garantien, wie die, die unter B " "vorgeschlagen werden. Standardmäßig kann jeder Prozess jederzeit getötet " "werden, wenn dem System der Speicher ausgeht." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux 2.6.7, the B flag has effect only if I is " "specified as B." msgstr "" "Vor Linux 2.6.7 hatte der Schalter B nur einen Effekt, falls " "I als B festgelegt ist." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "SUSv3 specifies that B() should fail if I is 0. However, " "before Linux 2.6.12, B() succeeded in this case: no mapping was " "created and the call returned I. Since Linux 2.6.12, B() fails " "with the error B for this case." msgstr "" "SUSv3 spezifiziert, dass B() fehlschlagen soll, falls I 0 ist. " "Vor Linux 2.6.12 war B() in diesem Fall allerdings erfolgreich: es " "wurde kein Mapping erstellt und der Aufruf lieferte I zurück. Seit " "Linux 2.6.12 schlägt es in diesem Fall mit dem Fehler B fehl." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "POSIX specifies that the system shall always zero fill any partial page at " "the end of the object and that system will never write any modification of " "the object beyond its end. On Linux, when you write data to such partial " "page after the end of the object, the data stays in the page cache even " "after the file is closed and unmapped and even though the data is never " "written to the file itself, subsequent mappings may see the modified " "content. In some cases, this could be fixed by calling B(2) before " "the unmap takes place; however, this doesn't work on B(5) (for " "example, when using the POSIX shared memory interface documented in " "B(7))." msgstr "" "POSIX spezifiziert, dass das System immer jede teilweise gefüllte Seite am " "Ende des Objektes mit Nullen auffüllen muss und dass das System niemals " "Änderungen an dem Objekt hinter seinem Ende schreibt. Unter Linux verbleiben " "sämtliche geschriebenen Daten in solchen Teilseiten nach dem Ende des " "Objektes im Seitenzwischenspeicher, selbst nachdem die Datei geschlossen und " "entmappt wurde und selbst obwohl die Daten niemals zu der Datei selbst " "geschrieben wurden, könnten nachfolgende Mappings die veränderten Inhalte " "sehen. In einigen Fällen könnte dies durch einen Aufruf von B(2), " "bevor das Aufheben des Mappings stattfindet, behoben werden, allerdings " "funktioniert dies nicht auf B(5) (beispielsweise beim Einsatz der " "POSIX-Schnittstelle für gemeinsamen Speicher, wie in B(7) " "dokumentiert)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "BEISPIELE" #. FIXME . Add an example here that uses an anonymous shared region for #. IPC between parent and child. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following program prints part of the file specified in its first command-" "line argument to standard output. The range of bytes to be printed is " "specified via offset and length values in the second and third command-line " "arguments. The program creates a memory mapping of the required pages of " "the file and then uses B(2) to output the desired bytes." msgstr "" "Das nachfolgende Programm gibt Teile der als sein erstes " "Befehlszeilenargument übergebenen Datei auf die Standardausgabe aus. Der " "ausgegebene Byte-Bereich wird mittels des Versatzes und des Längenwertes im " "zweiten und dritten Befehlszeilenargument angegeben. Das Programm erstellt " "ein Speicher-Mapping der benötigten Seiten der Datei und verwendet " "B(2), um die gewünschten Bytes auszugeben." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Programmquelltext" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Esys/types.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" "\\&\n" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" "\\&\n" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" " handle_error(\"fstat\");\n" "\\&\n" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* offset for mmap() must be page aligned */\n" "\\&\n" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"offset is past end of file\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Can\\[aq]t display bytes past end of file */\n" "\\&\n" " } else { /* No length arg ==E display to end of file */\n" " length = sb.st_size - offset;\n" " }\n" "\\&\n" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" "\\&\n" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" "\\&\n" " fprintf(stderr, \"partial write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Esys/types.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" "\\&\n" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s Dateiversatz [Länge]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" "\\&\n" " if (fstat(fd, &sb) == -1) /* Um die Dateigröße zu erhalten */\n" " handle_error(\"fstat\");\n" "\\&\n" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* Versatz für mmap() muss an der Seite ausgerichtet sein */\n" "\\&\n" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"Versatz ist hinter dem Dateiende\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Bytes hinter dem Dateiende können nicht angezeigt werden */\n" "\\&\n" " } else { /* Kein Längen-Argument ==E Anzeige bis zum Dateiende */\n" " length = sb.st_size - offset;\n" " }\n" "\\&\n" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" "\\&\n" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" "\\&\n" " fprintf(stderr, \"Schreiben unvollständig\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "SIEHE AUCH" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " "B(3), B(7)" msgstr "" "B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " "B(3), B(7)" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The descriptions of the following files in B(5): IpidI, " "IpidI, and IpidI." msgstr "" "Die Beschreibung der folgenden Dateien in B(5): IPIDI, " "IPIDI und IPIDI." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\\[en]129 and 389\\[en]391." msgstr "" "B.O. Gallmeister, POSIX.4, O'Reilly, Seiten 128\\[en]129 und 389\\[en]391." #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5. Februar 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B (since Linux 3.8)" msgstr "B, B (seit Linux 3.8)" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "The B flag was specified, but the caller was not privileged " "(did not have the B capability) and is not a member of the " "I group; see the description of I in" msgstr "" "Der Schalter B wurde angegeben, aber der Aufrufende war nicht " "privilegiert (verfügte nicht über die Capability B) und ist " "kein Mitglied der Gruppe I; siehe die Beschreibung " "von I in" #. SVr4 documents additional error codes ENXIO and ENODEV. #. SUSv2 documents additional error codes EMFILE and EOVERFLOW. #. type: Plain text #: debian-bookworm msgid "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD." msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD." #. type: Plain text #: debian-bookworm msgid "" "For example, suppose that thread A looks through IpidE/maps> " "in order to locate an unused address range that it can map using " "B, while thread B simultaneously acquires part or all of that " "same address range. When thread A subsequently employs B, " "it will effectively clobber the mapping that thread B created. In this " "scenario, thread B need not create a mapping directly; simply making a " "library call that, internally, uses B(3) to load some other shared " "library, will suffice. The B(3) call will map the library into the " "process's address space. Furthermore, almost any library call may be " "implemented in a way that adds memory mappings to the address space, either " "with this technique, or by simply allocating memory. Examples include " "B(2), B(3), B(3), and the PAM libraries E<.UR " "http://www.linux-pam.org> E<.UE .>" msgstr "" "Nehmen wir beispielsweise an, dass Thread A IPIDE/maps> " "durchsucht, um einen nicht benutzten Adressbereich zu finden, den er mittels " "B mappen kann, während Thread B gleichzeitig Teile des gleichen " "Adressbereichs (oder den gesamten Adressbereich) erlangt. Wenn Thread A " "anschließend B einsetzt, wird es das Mapping, das Thread B " "erstellte, durcheinanderbringen. In diesem Szenario muss Thread B nicht das " "Mapping direkt erstellen: einfach ein Aufruf einer Bibliotheksfunktion, die " "intern B(3) zum Laden einer anderen dynamische Bibliothek verwendet, " "reicht aus. Der Aufruf von B(3) wird die Bibliothek in den " "Adressraum des Prozesses einmappen. Desweiteren kann fast jeder " "Bibliotheksaufruf auf eine Art implementiert sein, die Speicher-Mappings zu " "dem Adressraum hinzufügt, entweder mit dieser Technik oder einfach durch " "Reservierung von Speicher. Beispiele sind B(2), B(3), " "B(3) und die PAM-Bibliotheken E<.UR http://www.linux-pam." "org> E<.UE .>" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" msgstr "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" msgstr "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s Dateiversatz [Länge]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" msgstr "" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" " handle_error(\"fstat\");\n" msgstr "" " if (fstat(fd, &sb) == -1) /* Um die Dateigröße zu erhalten */\n" " handle_error(\"fstat\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* offset for mmap() must be page aligned */\n" msgstr "" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* Versatz für mmap() muss an der Seite ausgerichtet sein */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"offset is past end of file\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"Versatz ist hinter dem Dateiende\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Can\\[aq]t display bytes past end of file */\n" msgstr "" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Bytes hinter dem Dateiende können nicht angezeigt werden */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " } else { /* No length arg ==E display to end of file */\n" " length = sb.st_size - offset;\n" " }\n" msgstr "" " } else { /* Kein Längen-Argument ==E Anzeige bis zum Dateiende */\n" " length = sb.st_size - offset;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" msgstr "" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" msgstr "" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " fprintf(stderr, \"partial write\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " fprintf(stderr, \"Schreiben unvollständig\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" msgstr "" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: debian-bookworm msgid "" "The descriptions of the following files in B(5): I, " "I, and I." msgstr "" "Die Beschreibung der folgenden Dateien in B(5): I, " "I und I." #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31. Oktober 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" "\\&\n" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" "\\&\n" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" " handle_error(\"fstat\");\n" "\\&\n" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* offset for mmap() must be page aligned */\n" "\\&\n" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"offset is past end of file\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Can\\[aq]t display bytes past end of file */\n" "\\&\n" " } else { /* No length arg ==E display to end of file */\n" " length = sb.st_size - offset;\n" " }\n" "\\&\n" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" "\\&\n" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" "\\&\n" " fprintf(stderr, \"partial write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" "\\&\n" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s Dateiversatz [Länge]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" "\\&\n" " if (fstat(fd, &sb) == -1) /* Um die Dateigröße zu erhalten */\n" " handle_error(\"fstat\");\n" "\\&\n" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* Versatz für mmap() muss an der Seite ausgerichtet sein */\n" "\\&\n" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"Versatz ist hinter dem Dateiende\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Bytes hinter dem Dateiende können nicht angezeigt werden */\n" "\\&\n" " } else { /* Kein Längen-Argument ==E Anzeige bis zum Dateiende */\n" " length = sb.st_size - offset;\n" " }\n" "\\&\n" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" "\\&\n" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" "\\&\n" " fprintf(stderr, \"Schreiben unvollständig\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-04-03" msgstr "3. April 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux-Handbuchseiten 6.04" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages (unveröffentlicht)"