1 #ifndef __LYEXIT_H 2 /* 3 * Avoid include redundancy 4 */ 5 #define __LYEXIT_H 6 7 /* 8 * Copyright (c) 1994, University of Kansas, All Rights Reserved 9 * 10 * Include File: LYexit.h 11 * Purpose: Provide an atexit function for libraries without such. 12 * Remarks/Portability/Dependencies/Restrictions: 13 * Include this header in every file that you have an exit or 14 * atexit statment. 15 * Revision History: 16 * 06-15-94 created Lynx 2-3-1 Garrett Arch Blythe 17 */ 18 19 /* 20 * Required includes 21 */ 22 #ifdef _WINDOWS 23 #include <process.h> /* declares exit() */ 24 #endif 25 26 #ifndef HTUTILS_H 27 #include <HTUtils.h> 28 #endif 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 /* 34 * Constant defines 35 */ 36 #ifdef exit 37 #undef exit 38 #endif 39 #define exit(code) LYexit(code) 40 #define atexit LYatexit 41 #define ATEXITSIZE 50 42 43 /* 44 * Data structures 45 */ 46 47 /* 48 * Global variable declarations 49 */ 50 51 /* 52 * Macros 53 */ 54 55 /* 56 * Function declarations 57 */ 58 extern void outofmem(const char *fname, const char *func) GCC_NORETURN; 59 extern void reset_signals(void); 60 extern void exit_immediately(int status) GCC_NORETURN; 61 extern void LYexit(int status) GCC_NORETURN; 62 extern int LYatexit(void (*function) (void)); 63 64 #ifdef __cplusplus 65 } 66 #endif 67 #endif /* __LYEXIT_H */ 68