/*
 *	error.h
 *
 *	エラー書き出し関数
 *
 *	* Mon Sep 28 21:01:46 JST 2015 Naoyuki Sawa
 *	- 1st リリース。
 *	- 'GNU拡張のエラー書き出し関数'互換モジュールです。使用方法は下記のページを参照してください。
 *	  「Linux Programmer's Manual - ERROR」(http://linuxjm.osdn.jp/html/LDP_man-pages/man3/error.3.html)
 *	* Sat Oct 24 14:03:11 JST 2015 Naoyuki Sawa
 *	- program_invocation_name,program_invocation_short_nameによるプログラム名の出力を有効にしました。
 *	  これまでは、program_invocation_name,program_invocation_short_nameによるプログラム名の出力は行っていなかったのですが、
 *	  本日、/clip/include/errno.h にprogram_invocation_name,program_invocation_short_nameを追加して、可能になったからです。
 *	  詳細は、/clip/include/errno.h の同日のコメントを参照して下さい。
 *	* Mon Oct 26 20:30:31 JST 2015 Naoyuki Sawa
 *	- error(),及び,error_at_line()が、errnumに0が指定されると改行を出力していなかったバグを修正しました。
 *	* Wed Nov 18 21:37:53 JST 2015 Naoyuki Sawa
 *	- 'extern "C" {'〜'}'で囲みました。.cppを含むWin32プロジェクトからもインクルード出来るようにするためです。
 */
#ifndef __ERROR_H__
#define __ERROR_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
/*****************************************************************************
 *	グローバル変数
 *****************************************************************************/
extern int error_one_per_line;
extern unsigned error_message_count;
extern void (*error_print_progname)();
/*****************************************************************************
 *	グローバル関数
 *****************************************************************************/
void error(int status, int errnum, const char* format, ...);
void error_at_line(int status, int errnum, const char* filename, unsigned linenum, const char* format, ...);
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__ERROR_H__
