COM_ERR(3)

명칭
com_err - 공통 에러 표시 routine

서식
 #include <com_err.h>

void com_err (whoami, code, format, ...);
	const char *whoami;
	long code;
	const char *format;

proc = set_com_err_hook (proc);
void (* proc ) (const char *, long, const char *, va_list);

proc = reset_com_err_hook ();

void initialize_XXXX_error_table ();

해설
com_err (은)는, whoami 캐릭터 라인으로 구성되는 표준 에러 스트림 stderr (stdio(3S) (을)를 참조)에 에러 메세지를 표시합니다. whoami 캐릭터 라인은, 프로그램명 또는 프로그램의 일부의 뒤에, code 치 (compile_et(1) (으)로부터 도출된 것)로부터 생성된 에러 메세지, 및 fprintf(3) (와)과 같은 스타일로, format 캐릭터 라인과 이후의 인수를 사용해 작성되었다 캐릭터 라인이 계속된 것을 지정할 것입니다. com_err 의 동작은, set_com_err_hook (을)를 사용해 수정할 수 있습니다. 이것에 의해, com_err 에게 건네지는 인수와 함께 불려 가는 프로시저가 정의됩니다. 이것은, 포맷 된 텍스트를 에러 출력에 송신하는 디폴트의 내부 프로시저의 대신입니다. 이와 같이, 프로그램으로부터의 에러 메세지는 모두 syslog(3) (와)과 같은 다른 형식의 진단 로그에 간단하게 전용할 수 있습니다. reset_com_err_hook (을)를 사용해, com_err (을)를 디폴트의 형식에 복원할 수도 있습니다. 어느 프로시저도 전의 훅치를 돌려줍니다. 이러한 훅 프로시저는, 상기의 서식의 proc (으)로 지정된 선언이 없으면 안됩니다. initialize_XXXX_error_table routine는, 이름 및 대응하는 캐릭터 라인이 들어간 원시 파일로부터 compile_et(1) 하지만 기계적으로 생성합니다. 각 테이블에는, 최고 4 캐릭터의 이름이 있습니다. 이 이름은 routine의 이름으로 XXXX 대신에 사용됩니다. 이러한 routine는, 대응하는 에러 코드가 사용되기 전에 호출할 필요가 있으므로, com_err 프로그램 라이브러리는, 이러한 테이블이 사용될 때, 이러한 테이블에서 에러 코드를 인식하려고 합니다. com_err.h 헤더 파일은, com_err 프로그램 라이브러리의 routine를 사용하는 원시 파일에 인클루드 할 필요가 있습니다. 실행 가능 파일은, com_err 프로그램 라이브러리가 인클루드 되도록(듯이), ``-lcom_err'' (을)를 사용해 링크 할 필요가 있습니다.

관련 항목
compile_et(1), syslog(3) Ken Raeburn, "A Common Error Description Library for UNIX".