argus-3.0.0.rc.14

Robert Edmonds edmonds42 at bellsouth.net
Mon Jul 10 20:53:31 EDT 2006


On 2006-07-10, Carter Bullard <carter at qosient.com> wrote:
> I hate Solaris.   Just thought I'd get that out there in the beginning
> to avoid any confusion on the topic ;o)  No, Solaris is fine, but it is
> very picky about  include files, and typing.  Argus 3.0 has compiled
> on Solaris in the recent past, so it shouldn't be a big deal.
>
> You are failing on ANSI ioctl definitions, which is something of a
> big deal, but you failed on the u_int64_t type check as well, which
> is new, and may actually be the problem.  Let me find a Solaris
> machine to see what I need to do to fix it.

Hmm, on Solaris 8 I found the _IO macro definition in
/usr/include/sys/ioccom.h, which bears this comment:

/*      ioccom.h 1.3 88/02/08 SMI; from UCB ioctl.h 7.1 6/4/86  */

For the u_int64_t problem, I would change all u_int types to uint, since
uint's are standard.

This is on Solaris 8:

    $ grep uint /usr/include/sys/int_types.h | head -5
    typedef unsigned char           uint8_t;
    typedef unsigned short          uint16_t;
    typedef unsigned int            uint32_t;
    typedef unsigned long           uint64_t;
    typedef unsigned long long      uint64_t;

    (although <sys/inttypes.h> should be included, not <sys/int_types.h>)

This is a C standard thing, not just Solaris.  glibc has the same types:

    http://www.gnu.org/software/libc/manual/html_node/Integers.html

-- 
Robert Edmonds




More information about the argus mailing list