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