makedev(3) | Library Functions Manual | makedev(3) |
BEZEICHNUNG
makedev, major, minor - Verwalten einer Gerätenummer
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <sys/sysmacros.h>
dev_t makedev(unsigned int maj, unsigned int min);
unsigned int major(dev_t gerät); unsigned int minor(dev_t gerät);
BESCHREIBUNG
Eine Gerätekennung besteht aus zwei Teilen: Einer Major-Kennung, die die Klasse des Geräts identifiziert, und einer Minor-Kennung, die die konkrete Instanz eines Geräts in dieser Klasse identifiziert. Eine Gerätekennung wird mit dem Typ dev_t dargestellt.
makedev() kombiniert die angegebene Major- und Minor-Kennung, um eine Gerätekennung zu erstellen, und liefert sie als Funktionsergebnis zurück. Die Gerätekennung kann beispielsweise an mknod(2) übergeben werden.
Die Funktionen major() und minor() erledigen die gegenteilige Aufgabe: Sie liefern für die angegebene Gerätekennung die Major- bzw. Minor-Komponenten zurück. Diese Makros können beispielsweise zur Zerlegung einer von stat(2) zurückgelieferten Gerätekennung verwandt werden.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
makedev(), major(), minor() | Multithread-Fähigkeit | MT-Sicher |
VERSIONEN
Die BSDs legen die Definitionen für diese Makros mittels <sys/types.h> offen.
STANDARDS
Keine.
GESCHICHTE
BSD, HP-UX, Solaris, AIX, Irix.
Diese Schnittstellen sind als Makros definiert. Seit Glibc 2.3.3 sind sie Aliase für drei GNU-spezifische Funktionen: gnu_dev_makedev(), gnu_dev_major() und gnu_dev_minor(). Letztere Namen werden exportiert, die traditionellen Namen sind aber besser portierbar.
Abhängig von der Version legt Glibc auch die Definitionen dieser Makros aus <sys/types.h> offen, falls geeignete Feature-Test-Makros definiert sind. Allerdings wurde dieses Verhalten in Glibc 2.25 missbilligt und seit Glibc 2.28 stellt <sys/types.h> diese Definitionen nicht mehr zur Verfügung.
SIEHE AUCH
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
2. Mai 2024 | Linux man-pages 6.9.1 |