gethostname(2) - wariua/manpages-ko GitHub Wiki

NAME

gethostname, sethostname - ํ˜ธ์ŠคํŠธ๋ช… ์–ป๊ธฐ/์„ค์ •ํ•˜๊ธฐ

SYNOPSIS

#include <unistd.h>

int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t len);

glibc ๊ธฐ๋Šฅ ํ™•์ธ ๋งคํฌ๋กœ ์š”๊ฑด (feature_test_macros(7) ์ฐธ๊ณ ):

gethostname():
glibc 2.12๋ถ€ํ„ฐ:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
|| /* glibc 2.12๋ถ€ํ„ฐ: */ _POSIX_C_SOURCE >= 200112L
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)

DESCRIPTION

์ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ๋“ค์„ ์ด์šฉํ•ด ํ˜„์žฌ ํ”„๋กœ์„ธ์„œ์˜ ํ˜ธ์ŠคํŠธ๋ช…์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•œ๋‹ค.

sethostname()์€ ํ˜ธ์ŠคํŠธ๋ช…์„ ๋ฌธ์ž ๋ฐฐ์—ด name์— ์ค€ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ๋‹ค. len ์ธ์ž๋Š” name์˜ ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. (์ฆ‰ name์— ์ข…๋ฃŒ์šฉ ๋„ ๋ฐ”์ดํŠธ๊ฐ€ ํ•„์š”์น˜ ์•Š๋‹ค.)

gethostname()์€ ๋„๋กœ ๋๋‚˜๋Š” ํ˜ธ์ŠคํŠธ๋ช…์„ ๊ธธ์ด๊ฐ€ len ๋ฐ”์ดํŠธ์ธ ๋ฌธ์ž ๋ฐฐ์—ด name์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ทธ ๋„ ์ข…๋ฃŒ ํ˜ธ์ŠคํŠธ๋ช…์ด ๋„ˆ๋ฌด ๊ธด ๊ฒฝ์šฐ์—๋Š” ์ด๋ฆ„์ด ์ž˜๋ฆฌ๋ฉฐ ์–ด๋–ค ์˜ค๋ฅ˜๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. (๋‹จ ์•„๋ž˜ NOTES ์ฐธ๊ณ .) POSIX.1์—์„œ๋Š” ๊ทธ๋Ÿฐ ์ ˆ๋‹จ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฐ˜ํ™˜ ๋ฒ„ํผ์— ์ข…๋ฃŒ์šฉ ๋„ ๋ฐ”์ดํŠธ๊ฐ€ ํฌํ•จ๋˜๋Š”์ง€ ์—ฌ๋ถ€๊ฐ€ ๋ช…์„ธ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๊ณ  ํ•œ๋‹ค.

RETURN VALUE

์„ฑ๊ณต ์‹œ 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์˜ค๋ฅ˜ ์‹œ -1์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ errno๋ฅผ ์ ์ ˆํžˆ ์„ค์ •ํ•œ๋‹ค.

ERRORS

EFAULT
name์ด ์œ ํšจํ•˜์ง€ ์•Š์€ ์ฃผ์†Œ์ด๋‹ค.
EINVAL
len์ด ์Œ์ˆ˜์ด๊ฑฐ๋‚˜, sethostname()์—์„œ len์ด ํ—ˆ์šฉ ์ตœ๋Œ€ ๊ธธ์ด๋ณด๋‹ค ํฌ๋‹ค.
ENAMETOOLONG
(glibc gethostname()) len์ด ์‹ค์ œ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘๋‹ค. (๋ฒ„์ „ 2.1 ์ „์—์„œ glibc๋Š” ์ด ๊ฒฝ์šฐ์— EINVAL์„ ์‚ฌ์šฉํ•œ๋‹ค.)
EPERM
sethostname()์—์„œ ํ˜ธ์ถœ์ž๊ฐ€ ์ž๊ธฐ UTS ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์—ฐ๊ณ„๋œ ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ CAP_SYS_ADMIN ์—ญ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค. (namespaces(7) ์ฐธ๊ณ .)

CONFORMING TO

SVr4, 4.4BSD (4.2BSD์—์„œ ์ด ์ธํ„ฐํŽ˜์ด์Šค๋“ค์ด ์ฒ˜์Œ ๋“ฑ์žฅ). POSIX.1-2001๊ณผ POSIX.1-2008์—์„œ gethostname()์€ ๋ช…์„ธํ•˜์ง€๋งŒ sethostname()์€ ๋ช…์„ธํ•˜์ง€ ์•Š๋Š”๋‹ค.

NOTES

SUSv2์—์„œ๋Š” "ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด 255๋ฐ”์ดํŠธ๋กœ ์ œํ•œ๋œ๋‹ค"๊ณ  ๋ณด์žฅํ•œ๋‹ค. POSIX.1์—์„œ๋Š” "ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด (์ข…๋ฃŒ์šฉ ๋„ ๋ฐ”์ดํŠธ ํฌํ•จํ•˜์ง€ ์•Š์Œ) HOST_NAME_MAX ๋ฐ”์ดํŠธ๋กœ ์ œํ•œ๋œ๋‹ค"๊ณ  ๋ณด์žฅํ•œ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ HOST_NAME_MAX๋Š” 64 ๊ฐ’์œผ๋กœ ์ •์˜๋ผ ์žˆ์œผ๋ฉฐ ๋ฆฌ๋ˆ…์Šค 1.0๋ถ€ํ„ฐ ๊ทธ๋žฌ๋‹ค. (๊ทธ ์ „ ์ปค๋„์—์„œ๋Š” ์ œํ•œ๊ฐ’์ด 8๋ฐ”์ดํŠธ์˜€๋‹ค.)

C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/์ปค๋„ ์ฐจ์ด

GNU C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋Š” gethostname() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์ด์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹  uname(2)์„ ํ˜ธ์ถœํ•ด์„œ ๋ฐ˜ํ™˜๋œ nodename ํ•„๋“œ๋ฅผ name์œผ๋กœ len ๋ฐ”์ดํŠธ๊นŒ์ง€ ๋ณต์‚ฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜๋กœ gethostname()์„ ๊ตฌํ˜„ํ•œ๋‹ค. ๋ณต์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ ๊ทธ ํ•จ์ˆ˜์—์„œ๋Š” nodename์˜ ๊ธธ์ด๊ฐ€ len๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ๊ทธ๋ณด๋‹ค ํฐ์ง€ ํ™•์ธํ•˜๊ณ , ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” errno๋ฅผ ENAMETOOLONG์œผ๋กœ ์„ค์ •ํ•˜๊ณ  -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋˜๋Š” name์— ์ข…๋ฃŒ์šฉ ๋„ ๋ฐ”์ดํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.

glibc ๋ฒ„์ „ 2.2 ์ „์—์„œ๋Š” nodename ๊ธธ์ด๊ฐ€ len๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ๊ทธ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•œ๋‹ค. ํ•จ์ˆ˜์—์„œ name์œผ๋กœ ์•„๋ฌด๊ฒƒ๋„ ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ ์„œ errno๋ฅผ ENAMETOOLONG์œผ๋กœ ์„ค์ •ํ•˜๊ณ  -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

SEE ALSO

hostname(1), getdomainname(2), uname(2)


2017-09-15

โš ๏ธ **GitHub.com Fallback** โš ๏ธ