Hi,
I tried to compile Pfil 2.1.11 on Solaris 11 running on Intel but
failed. The error messages are:
cc -I.. -I. -D_KERNEL -DSUNDDI -DSOLARIS2=11 -c ../pfil.c -o pfil.o
cc -I.. -I. -D_KERNEL -DSUNDDI -DSOLARIS2=11 -c qif.c -o qif.o
"qif.c", line 1020: warning: improper pointer/integer combination: arg
#8
"qif.c", line 1020: prototype mismatch: 8 args passed, 9 expected
cc: acomp failed for qif.c
The code around Line 1020 of qif.c :
qif_t *qif_illrouteto(int v, void *addr)
{
struct in_addr ip;
ire_t *dir;
ill_t *il;
if (v == 4) {
ip = *(struct in_addr *)addr;
#ifdef MATCH_IRE_DSTONLY dir =ire_route_lookup <========= Line
1020
(ip.s_addr, 0xffffffff, 0, 0,
NULL, NULL, NULL, MATCH_IRE_DSTONLY|MATCH_IRE_DEFAULT,
MATCH_IRE_RECURSIVE);
I checked the function definition of ire_route_lookup( ), on Solaris 11
it is defined as
/*
4503 * Lookup for a route in all the tables
4504 */
4505 ire_t *
4506 ire_route_lookup(ipaddr_t addr, ipaddr_t mask, ipaddr_t gateway,
4507 int type, const ipif_t *ipif, ire_t **pire, zoneid_t zoneid,
4508 const ts_label_t *tsl, int flags, ip_stack_t *ipst)
The interface on Solaris 11 indeed has one extra parameter "ip_stack_t
*ipst" than the same function on Solaris 10, so the compilation fails.
I know Sun has not officially release Solaris 11 yet, but will soon.
Is there any one runs into the same problem?
Andrew