getnameinfo(3)

address-to-name translation in protocol independent
ν”„λ‘œν† μ½œ λ…λ¦½μ μœΌλ‘œ μ„œλ²„ μ£Όμ†Œλ₯Ό μ΄λ¦„μœΌλ‘œ λ³€ν™˜ν•΄μ£ΌλŠ” 녀석.

#include <sys/socket.h>
#include <netdb.h>

int getnameinfo(const struct sockaddr *restrict addr, 
				socklen_t addrlen,
			    char host[_Nullable restrict .hostlen],
			    socklen_t hostlen,
			    char serv[_Nullable restrict .servlen],
			    socklen_t servlen,
			    int flags);

description

getnameinfoλŠ” getaddrinfo(3)의 λ°˜λŒ€μ—­ν• μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€. 이 ν•¨μˆ˜λŠ” μ†ŒμΌ“ μ£Όμ†Œλ₯Ό ν”„λ‘œν† μ½œ-독립적인 λ°©λ²•μœΌλ‘œ 각각 호슀트, μ„œλΉ„μŠ€ μ£Όμ†Œλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.

host, serv μΈμžλŠ” ν˜ΈμΆœμžκ°€ ν• λ‹Ήν•˜μ—¬μ•Ό ν•˜λ©°, getnameinfo ν˜ΈμΆœμ‹œ μ£Όμ†Œ 이름이 λ“€μ–΄κ°€κ²Œ λ©λ‹ˆλ‹€.

return value

λ§ˆμ°¬κ°€μ§€λ‘œ, 리턴값을 μ—λŸ¬μ²˜λ¦¬μš©μœΌλ‘œ μ”λ‹ˆλ‹€.

0일땐 성곡이며, node, service name이 μΈμžμ— μ±„μ›Œμ§‘λ‹ˆλ‹€.

0 μ•„λ‹Œ 값이 λ“€μ–΄μ˜€λ©΄ μ‹€νŒ¨μ΄λ©°, μ—λŸ¬μ½”λ“œκ°€ λ¦¬ν„΄λ©λ‹ˆλ‹€. μ–΄λ–¨ 땐 μ „μ—­λ³€μˆ˜ errnoκ°€ μ±„μ›Œμ§€κ³  어떨땐 μ—λŸ¬μ½”λ“œλ₯Ό λ¦¬ν„΄ν•˜κ³ .. κ°œνŒμ΄λ„€