/*** gethostid.c ***/
#include <stdio.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
long id;
id = gethostid();
printf("current hostid : %08x\n", id);
return 0;
}
<실행결과>
current hostid is: 007f0100
<리눅스 명령어를 이용하여 hostid 확인>
$ /usr/bin/hostid
007f0100
--------------------------------------------------------------------------------
리눅스 프로그래머 메뉴얼 - GETHOSTID(2)
이름
gethostid, sethostid - 현재 호스트의 유일한 식별자(indentifier)를 얻어오거나 설정한다.
사용법
#include <unistd.h>
long int gethostid(void);
int sethostid(long int hostid);
설명
현재 머신을 위한 32 비트 식별자를 얻거나 설정한다.
32비트 식별자는 존재하는 모든 유닉스 시스템 중에서 유일해야 한다.
이것은 gethostbyname(3)에의해 리턴되는 로컬 머신의 인터넷 주소와 비슷하다.
그리고 보통 설정할 필요가 없다.
sethostid를호출할 수 있는 것은 슈퍼 유저로 제한되어 있다.
hostid 인자는 /etc/hostid 파일에 저장된다.
반환값
gethostid는 sethostid(2)에의해 설정된 현재 호스트의 32 비트 식별자를 리턴한다.
호환
4.2BSD. 이 함수들은 4.4BSD에서 없어졌다.
POSIX.1에서는 이 함수들을 정의하지 않았지만, ISO/IEC 9945-1:1990는 B.4.4.1에서 언급한다.
SVr4는 gethostid는포함하지만, sethostid는포함하지 않는다.
파일
/etc/hostid
관련 항목
hostid(1), gethostbyname(3)