diff options
Diffstat (limited to 'contrib/perl5/ext/IPC/SysV/SysV.xs')
-rw-r--r-- | contrib/perl5/ext/IPC/SysV/SysV.xs | 54 |
1 files changed, 37 insertions, 17 deletions
diff --git a/contrib/perl5/ext/IPC/SysV/SysV.xs b/contrib/perl5/ext/IPC/SysV/SysV.xs index 0fbf783..ecd5270 100644 --- a/contrib/perl5/ext/IPC/SysV/SysV.xs +++ b/contrib/perl5/ext/IPC/SysV/SysV.xs @@ -4,32 +4,52 @@ #include <sys/types.h> #ifdef __linux__ -#include <asm/page.h> +# include <asm/page.h> #endif #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) -#include <sys/ipc.h> -#ifdef HAS_MSG -#include <sys/msg.h> -#endif -#ifdef HAS_SEM -#include <sys/sem.h> -#endif -#ifdef HAS_SHM -#if defined(PERL_SCO5) || defined(PERL_ISC) -#include <sys/sysmacros.h> -#endif -#include <sys/shm.h> -# ifndef HAS_SHMAT_PROTOTYPE - extern Shmat_t shmat _((int, char *, int)); -# endif +#ifndef HAS_SEM +# include <sys/ipc.h> +#endif +# ifdef HAS_MSG +# include <sys/msg.h> +# endif +# ifdef HAS_SHM +# if defined(PERL_SCO) || defined(PERL_ISC) +# include <sys/sysmacros.h> /* SHMLBA */ +# endif +# include <sys/shm.h> +# ifndef HAS_SHMAT_PROTOTYPE + extern Shmat_t shmat _((int, char *, int)); +# endif +# if defined(__sparc__) && (defined(__NetBSD__) || defined(__OpenBSD__)) +# undef SHMLBA /* not static: determined at boot time */ +# define SHMLBA getpagesize() +# endif +# endif #endif + +/* Required to get 'struct pte' for SHMLBA on ULTRIX. */ +#if defined(__ultrix) || defined(__ultrix__) || defined(ultrix) +# include <machine/pte.h> #endif /* Required in BSDI to get PAGE_SIZE definition for SHMLBA. * Ugly. More beautiful solutions welcome. * Shouting at BSDI sounds quite beautiful. */ #ifdef __bsdi__ -# include <vm/vm_param.h> +# include <vm/vm_param.h> /* move upwards under HAS_SHM? */ +#endif + +#ifndef S_IRWXU +# ifdef S_IRUSR +# define S_IRWXU (S_IRUSR|S_IWUSR|S_IWUSR) +# define S_IRWXG (S_IRGRP|S_IWGRP|S_IWGRP) +# define S_IRWXO (S_IROTH|S_IWOTH|S_IWOTH) +# else +# define S_IRWXU 0700 +# define S_IRWXG 0070 +# define S_IRWXO 0007 +# endif #endif MODULE=IPC::SysV PACKAGE=IPC::Msg::stat |