I'm trying to write a module for an AIX structure named procinfo. This structure
is different if we run AIX with a 32bit kernel or with a 64bit kernel

the xs parser doesn't seem to like ifdef. How can I declarer the same subroutine
for 32 bits and 64 bits?

example:

#include <procinfo.h>

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

MODULE = AIX::Procinfo::procsinfo       PACKAGE = AIX::Procinfo::procsinfo

#ifdef __64BIT__
pid_t
pi_pid(struct procsinfo proc)
        CODE:
                /* process ID */
                RETVAL = proc.pi_pid;

        OUTPUT:
                RETVAL
#else /* __64BIT__ */
unsigned long
pi_pid(struct procsinfo proc)
        CODE:
                /* process ID */
                RETVAL = proc.pi_pid;
        OUTPUT:
                RETVAL
#endif /* __64BIT__ */


Reply via email to