GETOBJFORMAT(3)

명칭
getobjformat - 우선 오브젝트 파일 포맷의 취득

프로그램 라이브러리
libc

서식
<objformat.h> int getobjformat(char *buf, size_t bufsize, int *argcp, char **argv)

해설
getobjformat() (은)는 몇개의 정보원에 문의해, 우선 오브젝트 파일 포맷을 결정해 호출 바탕으로야는 설정되었다 버퍼에 그 이름을 카피합니다.

오브젝트 파일 포맷은, 다음과 같이 결정됩니다. argv 하지만 NULL (이)가 아니고, -aout 또는 -elf (와)과 같은 명시적인 명령행 인수가 존재하는 경우는, 그 인수가 오브젝트 파일 포맷을 결정합니다.

그렇지 않은 경우, 환경에 변수 OBJFORMAT 하지만 설정되어 있으면, 그 변수의 값으로부터 오브젝트 파일 포맷이 취해집니다.

그렇지 않은 경우, 파일 /etc/objformat 의 독해가 가능해, ‘OBJFORMAT=xxx’ 그렇다고 하는 형식의 행이 포함되어 있으면, 오브젝트 파일 포맷 (은)는 거기로부터 빼앗깁니다.

그렇지 않은 경우, 편입의 시스템 디폴트의 오브젝트 파일 포맷이 돌아갑니다.

buf (은)는, 오브젝트 파일 포맷의 이름이 거기에 카피되는, 유저 지정의 버퍼를 나타냅니다. bufsize (은)는, 버퍼의 크기를 바이트수로 줍니다. buf 에 놓여지는 캐릭터 라인은 항상 눌로 끝납니다. 눌로 끝나는 버퍼명을 보관 유지하기 위해서는 버퍼가 너무 작은 경우, 에러가 됩니다.

argv (은)는, 오브젝트 포맷의 옵션이 스캔 되는, NULL 그리고 끝나는 인수 벡터를 나타냅니다. 인수 벡터가 스캔 하지 않는 경우는, argv (을)를 NULL (으)로 할 수가 있습니다.

argcp 하지만 NULL (이)가 아니면, 모든 오브젝트 포맷 옵션은 인수 벡터로부터 삭제되어 갱신된 인수 카운트가, argcp 그리고 참조되는 정수에 격납됩니다. argcp 하지만 NULL (이)라면, 인수 벡터는 변경되지 말고 그대로 남습니다.

반환값
성공했을 경우 getobjformat() (은)는, 마지막의 눌을 포함하지 않는다 오브젝트 파일 포맷명의 길이를 돌려줍니다. 오브젝트 파일 포맷 및 마지막의 눌을 보관 유지하기 위해서는, 지정의 버퍼가 너무 작은 경우, getobjformat() (은)는 -1 을 돌려줍니다. 그 경우 버퍼 및, 호출 바탕으로야는 지정된 인수 벡터의 내용은 부정입니다.

환경 변수

OBJFORMAT
    환경 변수 OBJFORMAT 하지만 설정되면(자), 디폴트의 오브젝트 파일 포맷에 우선합니다. OBJFORMAT 하 /etc/objformat 에 우선합니다.

관련 파일
/etc/objformat
    존재하면 이것이, 사용하는 오브젝트 파일 포맷을 지정합니다. 구문은 ‘OBJFORMAT=xxx’ 입니다.

관련 항목
objformat(1)

역사
getobjformat() 함수는 FreeBSD 3.0 그리고 처음 등장했습니다.