이 름
ftok − 경 로 와 프 로 젝 트 식 별 자 를 시 스 템 V IPC 키 값 으 로 변 환 한 다 .
사 용 법
# include
<sys/types.h>
# include <sys/ipc.h>
key_t ftok ( char *pathname, char proj )
설 명
이 함 수 는 접 근 가 능 하 고 실 제 로 존 재 하 는 파 일 의 경 로 와 프 로 젝 트 식 별 자 를 key_t 타 입 의 시 스 템 V IPC 키 값 으 로 변 환 한 다 .
반 환 값
성 공 적 인 경 우 에 는 정 상 적 으 로 변 환 된 key_t 값 을 , 그 렇 지 않 으 면 −1 을 반 환 하 고 stat(2) 시 스 템 콜 에 관 한 에 러 를 표 시 하 기 위 해 errno 값 을 설 정 한 다 .
버 그
변 환 한 key_t 값 은 pathname의 i-node 번 호 와 디 스 크 파 일 이 위 치 한 파 일 시 스 템 의 부 (minor) 장 치 번 호 를 얻 기 위 해 pathname에 부 합 하 는 디 스 크 파 일 의 상 태 를 저 장 하 고 있 다 . 따 라 서 이 값 은 i-node 번 호 의 하 위 16비 트 와 , 부 장 치 번 호 의 8비 트 그 리 고 proj 값 의 8비 트 를 조 합 해 서 만 든 다 . 그 러 므 로 이 알 고 리 즘 은 유 일 한 키 값 을 보 장 할 수 없 다 . 실 제 로
• |
같 은 파 일 에 링 크 된 서 로 다 른 이 름 의 파 일 은 같 은 키 값 을 생 성 한 다 . | ||
• |
드 문 경 우 이 지 만 , i−node 번 호 의 하 위 16비 트 를 사 용 하 기 때 문 에 , 서 로 다 른 i-node를 가 지 는 파 일 이 서 로 같 은 키 값 을 가 지 는 경 우 가 있 다 . | ||
• |
드 문 경 우 이 지 만 , 주 (major) 장 치 번 호 를 분 간 할 수 없 기 때 문 에 , 여 러 개 의 디 스 크 제 어 장 치 를 가 지 는 시 스 템 에 서 도 역 시 이 런 충 돌 이 일 어 날 수 있 다 . |
관 련 항 목
ipc(5), msgget(2), semget(2), shmget(2), stat(2).
역 자
정 동 현 <dhjung [AT] serome.kr>, 2000년 4월 21일