gethostname(2) System Calls Manual gethostname(2) NUME gethostname, sethostname - obine/stabilete numele gazdei BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include int gethostname(char *name, size_t len); int sethostname(const char *name, size_t len); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): gethostname(): _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc 2.19 i versiunile anterioare */ _BSD_SOURCE sethostname(): Incepand cu glibc 2.21: _DEFAULT_SOURCE In glibc 2.19 i 2.20: _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) Pana la i inclusiv glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) DESCRIERE Aceste apeluri de sistem sunt utilizate pentru a accesa sau pentru a modifica numele de gazda al sistemului. Mai exact, ele opereaza asupra numelui de gazda asociat cu spaiul de nume UTS al procesului apelant. sethostname() stabilete numele de gazda la valoarea data in matricea de caractere name. Argumentul len specifica numarul de octei din name. (Prin urmare, name nu necesita un octet de terminare nul). gethostname() returneaza numele de gazda cu un octet de terminare nul in matricea de caractere name, care are o lungime de len octei. In cazul in care numele de gazda cu un octet de terminare nul este prea mare pentru a incapea, numele este trunchiat i nu se returneaza nicio eroare (a se vedea insa rubrica NOTE de mai jos). POSIX.1 precizeaza ca, daca are loc o astfel de trunchiere, nu se specifica daca memoria tampon returnata include sau nu un octet de terminare nul. VALOAREA RETURNATA In caz de succes, se returneaza zero. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE EFAULT name este o adresa nevalida. EINVAL argumentul len este negativ sau, pentru sethostname(), len este mai mare decat dimensiunea maxima permisa. ENAMETOOLONG (glibc gethostname()) argumentul len este mai mic decat dimensiunea reala; (inainte de glibc 2.1, glibc utiliza EINVAL pentru acest caz). EPERM Pentru sethostname(), apelantul nu avea capacitatea CAP_SYS_ADMIN in spaiul de nume de utilizator asociat cu spaiul sau de nume UTS (a se vedea namespaces(7)). VERSIUNI SUSv2 garanteaza ca ,,Numele de gazda sunt limitate la 255 de octei". POSIX.1 garanteaza ca ,,Numele gazdelor (fara a include octetul nul de terminare) sunt limitate la HOST_NAME_MAX octei". In Linux, HOST_NAME_MAX este definit cu valoarea 64, care a fost limita de la Linux 1.0 (nucleele anterioare au impus o limita de 8 octei). Diferene intre biblioteca C i nucleu Biblioteca GNU C nu utilizeaza apelul de sistem gethostname(); in schimb, implementeaza gethostname() ca o funcie de biblioteca care apeleaza uname(2) i copiaza pana la len octei din campul nodename returnat in name. Dupa ce a efectuat copia, funcia verifica daca lungimea campului nodename a fost mai mare sau egala cu len, iar daca este aa, funcia returneaza -1 cu errno stabilita la ENAMETOOLONG; in acest caz, un octet de terminare nul nu este inclus in campul nodename returnat. STANDARDE gethostname() POSIX.1-2008. sethostname() Niciunul. ISTORIC SVr4, 4.4BSD (aceste interfee au aparut pentru prima data in 4.2BSD). POSIX.1-2001 i POSIX.1-2008 specifica gethostname(), dar nu i sethostname(). Versiunile de glibc anterioare lui glibc 2.2 trateaza diferit cazul in care lungimea lui nodename a fost mai mare sau egala cu len: nu se copiaza nimic in name i funcia returneaza -1 cu errno stabilita la ENAMETOOLONG. CONSULTAI I hostname(1), getdomainname(2), setdomainname(2), uname(2), uts_namespaces(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 gethostname(2)