getdomainname(2) System Calls Manual getdomainname(2) getdomainname, setdomainname - / NIS C (libc, -lc) #include int getdomainname(size_t size; char name[size], size_t size); int setdomainname(size_t size; const char name[size], size_t size); glibc (. feature_test_macros(7)): getdomainname(), setdomainname(): 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) NIS . , NIS, UTS . setdomainname() sets the domain name to the value given in the character array name. The size argument specifies the number of bytes in name. (Thus, name does not require a terminating null byte.) getdomainname() returns the null-terminated domain name in the character array name, which has a size of size bytes. If the null-terminated domain name requires more than len bytes, getdomainname() returns the first len bytes (glibc) or gives an error (libc). 0. -1, errno . setdomainname() : EFAULT name . EINVAL size was negative or too large. EPERM CAP_SYS_ADMIN , UTS ( namespaces(7)). getdomainname() : EINVAL For getdomainname() under libc: name is NULL or name is equal or longer than size bytes. Linux ( x86), getdomainname() ; glibc getdomainname(), domainname, uname(2). . Since Linux 1.0, the limit on the size of a domain name, including the terminating null byte, is 64 bytes. In older kernels, it was 8 bytes. gethostname(2), sethostname(2), uname(2), uts_namespaces(7) () Azamat Hackimov , Dmitry Bolkhovskikh , Vladislav , Yuri Kozlov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () . Linux man-pages 6.18 8 2026 . getdomainname(2)