--- rpl/src/rpl.h 2010/08/12 14:22:37 1.54 +++ rpl/src/rpl.h 2010/08/15 14:46:25 1.56 @@ -31,6 +31,10 @@ # define _DARWIN_C_SOURCE #endif +#ifdef OpenBSD +# define _BSD_SOURCE +#endif + #ifdef OS2 # define _BSD_SOURCE # define _XOPEN_SOURCE 600 @@ -44,6 +48,8 @@ # include "getaddrinfo-conv.h" # define sched_yield(arg) +#else +# undef _BROKEN_SIGINFO #endif @@ -64,11 +70,11 @@ #ifndef RPLARGS # include +# include # include # include # include # include -# include # include # include # include @@ -92,17 +98,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); @@ -166,6 +182,11 @@ #include "librplprototypes.h" +#ifndef UNIX_PATH_MAX + struct sockaddr_un sizecheck; +# define UNIX_PATH_MAX sizeof(sizecheck.sun_path) +#endif + /* ================================================================================ @@ -193,7 +214,7 @@ */ #ifndef RPLARGS -# if defined(Darwin) +# if defined(Darwin) || defined(OpenBSD) # define SIGPOLL SIGINFO # endif @@ -812,6 +833,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 }; @@ -1597,7 +1654,14 @@ typedef struct processus pthread_t thread_surveille_par_fusible; # if !defined(Cygwin) +# if !(OpenBSD) stack_t pile_signal; +# else +# ifdef SA_ONSTACK +# undef SA_ONSTACK +# endif +# define SA_ONSTACK 0 +# endif # else # define SA_ONSTACK 0 # define RTLD_LOCAL 0