--- rpl/src/rpl.h 2010/08/12 14:22:37 1.54 +++ rpl/src/rpl.h 2010/08/13 21:00:37 1.55 @@ -34,6 +34,7 @@ #ifdef OS2 # define _BSD_SOURCE # define _XOPEN_SOURCE 600 +# define _BROKEN_SIGINFO # include enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; @@ -44,6 +45,8 @@ # include "getaddrinfo-conv.h" # define sched_yield(arg) +#else +# undef _BROKEN_SIGINFO #endif @@ -92,17 +95,27 @@ # ifndef SEMAPHORES_SYSV # include # else -# include -# define SEM_FAILED NULL - typedef int sem_t; - -# ifndef SEM_A -# define SEM_A 0200 -# endif -# ifndef SEM_R -# define SEM_R 0400 +# ifdef OS2 +# define INCL_DOSSEMAPHORES +# define INCL_DOSMEMMGR +# define INCL_DOSERRORS +# include + + typedef struct _OS2SEM + { + HMTX hmtx; + HEV hev; + ULONG shared; + ULONG *cnt; + ULONG *nopened; + ULONG allocated; + } sem_t; +# else + typedef int sem_t; # endif +# define SEM_FAILED NULL + sem_t *sem_open_SysV(const char *nom, int oflag, ...); int sem_init_SysV(sem_t *sem, int shared, unsigned int value); int sem_close_SysV(sem_t *sem); @@ -812,6 +825,42 @@ pid_t debug_fork(); -------------------------------------------------------------------------------- */ +#ifdef MIN +# undef MIN +#endif + +#ifdef MAX +# undef MAX +#endif + +#define ADR __RPL_ADR +#define ALG __RPL_ALG +#define BIN __RPL_BIN +#define CHN __RPL_CHN +#define CPL __RPL_CPL +#define FCH __RPL_FCH +#define FCT __RPL_FCT +#define INT __RPL_INT +#define LST __RPL_LST +#define MCX __RPL_MCX +#define MIN __RPL_MIN +#define MRL __RPL_MRL +#define MTX __RPL_MTX +#define NOM __RPL_NOM +#define NON __RPL_NON +#define PRC __RPL_PRC +#define REL __RPL_REL +#define RPN __RPL_RPN +#define SCK __RPL_SCK +#define SLB __RPL_SLB +#define SPH __RPL_SPH +#define SQL __RPL_SQL +#define TBL __RPL_TBL +#define VCX __RPL_VCX +#define VIN __RPL_VIN +#define VRL __RPL_VRL + + enum t_type { ADR = 0, ALG, BIN, CHN, CPL, FCH, FCT, INT, LST, MCX, MIN, MRL, MTX, NOM, NON, PRC, REL, RPN, SCK, SLB, SPH, SQL, TBL, VCX, VIN, VRL };