1#ifndef PORT_H 2#define PORT_H 3 4#include <stdio.h> 5 6#if defined (WIN32) || defined (OS2) 7#define NON_UNIX 8#endif 9 10 11#define USE_SA_SIGACTION 12 13 14 15#if 0 16#define false 0 17#define true 1 18#endif 19 20#ifdef OS2 21#define NO_SNPRINTF 22typedef enum 23{ 24 false = 0, 25 true = 1 26} bool; 27 28#define INCL_DOSQUEUES 29#include <os2.h> 30 31#define rmdir(XX) { DosDeleteDir(XX); } 32#define chdir(XX) DosSetCurrentDir(XX) 33#define file_close(XX) { DosClose(XX); } 34#define make_directory(XX) DosCreateDir(XX, NULL) 35typedef HFILE FILE_TYPE; 36#define pipe(XX) DosCreatePipe(&XX[0], &XX[1], 8 * 1024) 37#define sleep(XX) DosSleep((XX) * 1000) 38#define exit(XX) DosExit(EXIT_THREAD, XX) 39#else 40#define file_close(XX) { ::close(XX); } 41#define make_directory(XX) mkdir(XX, S_IRWXU) 42typedef int FILE_TYPE; 43#endif 44typedef FILE_TYPE *PFILE_TYPE; 45//typedef FILE *PFILE; 46 47#endif 48 49#ifdef NO_SNPRINTF 50#define snprintf sprintf 51#endif 52 53#define EXIT_CTRL_C 5 54