Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       uname - pobiera nazwę oraz informacje o bieżącym jądrze

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

OPIS

       uname()  zwraca  informacje  systemowe  w  strukturze, na którą wskazuje buf. utsname jest
       zdefiniowana w <sys/utsname.h>:

           struct utsname {
               char sysname[];    /* Nazwa systemu operacyjnego (np. "Linux") */
               char nodename[];   /* Nazwa w sieci komunikacyjnej, do której
                                     węzeł jest dołączony (o ile występuje) */
               char release[];    /* Wydanie systemu operacyjnego
                                     (np. "2.6.28") */
               char version[];    /* Wersja systemu operacyjnego */
               char machine[];    /* Identyfikator typu sprzętowego */
           #ifdef _GNU_SOURCE
               char domainname[]; /* Nazwa domeny NIS lub YP */
           #endif
           };

       Długość tablicy w struct utsname jest nieokreślona (zob. UWAGI); pola są zakończone bajtem
       null ('\0').

WARTOŚĆ ZWRACANA

       Po  pomyślnym  zakończeniu  zwracane  jest  zero.  Po błędzie zwracane jest -1 i ustawiane
       errno, wskazując błąd.

BŁĘDY

       EFAULT buf nie jest prawidłowe.

WERSJE

       Składowa domainname (nazwa domeny NIS lub YP) jest rozszerzeniem GNU.

       Długość pól w strukturze jest zróżnicowana. Niektóre  systemy  operacyjne  lub  biblioteki
       używają  stałej  długości  9 lub 33, lub 65, lub 257. Inne systemy operacyjne korzystają z
       SYS_NMLN lub _SYS_NMLN, lub UTSLEN, lub _UTSNAME_LENGTH. Jest zatem złym pomysłem używanie
       którejś  z  tych  stałych;  proszę  korzystać z sizeof(...). SVr4 używa długości 257, „aby
       obsługiwać internetowe nazwy stacji” — jest to  prawdopodobnie  największa  wartość,  jaką
       można spotkać w praktyce.

STANDARDY

       POSIX.1-2008.

HISTORIA

       POSIX.1-2001, SVr4, 4.4BSD.

   Różnice biblioteki C/jądra
       Z  biegiem  czasu,  zwiększający się rozmiar struktury utsname spowodował powstanie trzech
       kolejnych  wersji  uname():  sys_olduname()  (slot  __NR_oldolduname),  sys_uname()  (slot
       __NR_olduname)  oraz  sys_newuname()  (slot __NR_uname). Pierwsza korzysta z długości 9 we
       wszystkich polach; druga używa 65; trzecia — również  65,  lecz  dodaje  pole  domainname.
       Funkcja  opakowująca  uname()  z  glibc  ukrywa  te  detale przed aplikacjami, przywołując
       najnowszą wersję wywołania systemowego zapewnianą przez jądro.

UWAGI

       Jądro ma wbudowane: nazwę, wydanie, wersję i obsługiwany typ sprzętowy. Pole nodename jest
       natomiast  konfigurowane  przez  administratora,  właściwie  do  sieci  (BSD  historycznie
       nazywało je „hostname”; jest ustawiane za pomocą sethostname(2)).  Pole domainname jest  z
       kolei ustawiane przez setdomainname(2).

       Część  informacji  utsname  jest  dostępna  rownież  za  pomocą  /proc/sys/kernel/{ostype,
       hostname, osrelease, version, domainname}.

ZOBACZ TAKŻE

       uname(1), getdomainname(2), gethostname(2), uts_namespaces(7)

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony   podręcznika   są:   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.