gethostname(2) System Calls Manual gethostname(2) gethostname, sethostname - / (libc -lc) #include int gethostname(char *name, size_t size); int sethostname(const char *name, size_t size); glibc ( feature_test_macros(7)): gethostname(): _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc 2.19 */ _BSD_SOURCE sethostname(): glibc 2.21: _DEFAULT_SOURCE glibc 2.19 2.20: _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) glibc 2.19 : _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) . UTS . sethostname() name. size name. ( name .) gethostname() name size . ( ). POSIX.1 . . -1 errno . EFAULT name . EINVAL size sethostname() size . ENAMETOOLONG (glibc gethostname()) size . ( glibc 2.1 glibc EINVAL .) EPERM sethostname() CAP_SYS_ADMIN UTS ( namespaces(7)). SUSv2 " 255 ". POSIX.1 " ( ) HOST_NAME_MAX ". HOST_NAME_MAX 64 1.0 ( 8 ). C GNU C gethostname() gethostname() uname(2) size nodename name. nodename size -1 errno ENAMETOOLONG name . gethostname() POSIX.1-2024. sethostname() . gethostname() 4.2BSD, SVr4, POSIX.1-2001. sethostname() 4.2BSD, SVr4. glibc glibc 2.2 nodename size : name -1 errno ENAMETOOLONG. hostname(1), getdomainname(2), setdomainname(2), uname(2), uts_namespaces(7) 3 . . : . 6.18 8 2026 gethostname(2)