#ifndef _GLOBAL_H #define _GLOBAL_H 1 #include /* install signal handler macro */ #define INSTALL_SIGNAL(signum, act, oldact) \ sigaction(signum, NULL, &oldact); \ if (oldact.sa_handler != SIG_IGN) \ sigaction(signum, &act, NULL); /* * global.c stuff */ #include /* function declarations */ void vprintferr(const char *fmt, va_list ap); void printferr(const char *fmt, ...); void bailout(const char *fmt, ...); /* global variable definitions */ /* libc manual: Handlers that return normally must modify some global variable * in order to have any effect. Typically, the variable is one that is examined * periodically by the program during normal operation. Its data type should be * sig_atomic_t for reasons described in Atomic Data Access. */ extern volatile sig_atomic_t error; /* error flag */ extern char *me; /* name of myself (argv[0]) */ extern char* charmap[128]; #endif