Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Linux-UNIX-Programmierung von Jürgen Wolf
Das umfassende Handbuch – 2., aktualisierte und erweiterte Auflage 2006
Buch: Linux-UNIX-Programmierung

Linux-UNIX-Programmierung
1216 S., mit CD, 49,90 Euro
Rheinwerk Computing
ISBN 3-89842-749-8
gp Kapitel 6 System- und Benutzerdateien
  gp 6.1 Die Datei /etc/passwd
    gp 6.1.1 Die Datei /etc/passwd auswerten
    gp 6.1.2 getpwuid und getpwnam – einzelne Abfrage von /etc/passwd
    gp 6.1.3 getpwent, setpwent und endpwent – komplette Abfrage von /etc/passwd
  gp 6.2 Die Datei /etc/shadow
    gp 6.2.1 Die Datei /etc/shadow auswerten
    gp 6.2.2 getspent, setspent und endspent – komplette Abfrage von /etc/shadow
  gp 6.3 Die Datei /etc/group
    gp 6.3.1 Die Datei /etc/group auswerten
    gp 6.3.2 getgrnam und getgrgid – einzelne Einträge aus /etc/group abfragen
    gp 6.3.3 getgrent, setgrent und endgrent – alle Einträge in /etc/group abfragen
  gp 6.4 uname – Informationen zum lokalen System erfragen
  gp 6.5 Das Verzeichnis /etc/skel und Network Information Service (NIS)
  gp 6.6 Dateien für Netzwerkinformationen


Rheinwerk Computing

6.4 uname – Informationen zum lokalen System erfragetoptop

Mithilfe der POSIX.1-konformen Funktion uname() können Sie sich Information zum lokalen System erfragen. Die Syntax:

 #include <sys/utsname.h>
int uname(struct utsname *buf);

Diese Funktion gibt die Systeminformationen in buf zurück. Die Struktur utsname ist in der Headerdatei <sys/utsname.h> wie folgt definiert:


Tabelle 6.4    Die Struktur utsname in der Headerdatei <sys/utsname.h>

Strukturvariablen Bedeutung
char sysname[] Betriebssystemname
char nodename[ ] Knotennamen in einem Netzwerk
char release[ ] Aktueller Release-Name
char version[ ] Aktueller Versions-Name des Release
char machine[ ] Name der Hardware die auf dem System läuft
char domainname[ ] oder char domainname[ ] Name der Domain vom Knotenpunkt im Netzwerk (nicht POSIX.1)

Die Größe der Arrays wird nicht von POSIX.1 vorgeschrieben und ist systemabhängig. Der einfachste Weg, eine Überschreibung zu vermeiden, ist die Verwendung von sizeof(), womit die maximale Länge des Arrays ermittelt wird.

Bei Erfolg wird 0 und im Fehlerfall -1 zurückgegeben. Ist im Falle eines Fehlers errno mit EFAULT gesetzt, ist buf nicht gültig. Hierzu die Funktion uname() im Einsatz:

/* utsname.c */
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <string.h>
int main(int argc, char *argv[]) {
   struct utsname uts_info;
   if( uname(&uts_info) < 0 ) {
      fprintf(stderr, "Fehler bei uname()\n");
      exit (EXIT_FAILURE);
   }
   printf("Folgende Angaben wurden ermittelt: \n");
   printf("Betriebssystem   : %s\n", uts_info.sysname);
   printf("Knotenname       : %s\n", uts_info.nodename);
   printf("Release          : %s\n", uts_info.release);
   printf("Version          : %s\n", uts_info.version);
   printf("Architektur      : %s\n", uts_info.machine);
#define __USE_GNU
   printf("Domainname       : %s\n", uts_info.__domainname);
   return EXIT_SUCCESS;
}

Das Programm bei der Ausführung:

you@host > ./utsname
Folgende Angaben wurden ermittelt:
Betriebssystem        : Linux
Knotenname            : mering
Release               : 2.6.10–5–386
Version               : #1 Tue Apr 5 12:12:40 UTC 2005
Architektur           : i686
Domainname            : (none)
 << zurück
  
  Zum Rheinwerk-Shop
Neuauflage: Linux-UNIX-Programmierung
Neuauflage:
Linux-UNIX-
Programmierung

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-
 Programmierung


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern