2 * Copyright (C) 2002 by Darren Reed.
4 * See the IPFILTER.LICENCE file for details on licencing.
6 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
11 #define PRINTF (void)printf
12 #define FPRINTF (void)fprintf
14 iphtent_t
*printhashnode(iph
, ipep
, copyfunc
, opts
)
22 if ((*copyfunc
)(ipep
, &ipe
, sizeof(ipe
)))
25 if (ipe
.ipe_family
== AF_INET
) {
26 ipe
.ipe_addr
.in4_addr
= htonl(ipe
.ipe_addr
.in4_addr
);
27 ipe
.ipe_mask
.in4_addr
= htonl(ipe
.ipe_mask
.in4_addr
);
30 if ((opts
& OPT_DEBUG
) != 0) {
32 char addinfo
[INET6_ADDRSTRLEN
];
33 PRINTF("\tAddress: %s",
34 inet_ntop(ipe
.ipe_family
, (void *)&ipe
.ipe_addr
.in4
,
35 addinfo
, sizeof(addinfo
)));
37 PRINTF("\tAddress: %s",
38 inet_ntoa(ipe
.ipe_addr
.in4
));
41 if (ipe
.ipe_family
== AF_INET6
)
42 printmask(6, (u_32_t
*)&ipe
.ipe_mask
.in6
);
45 printmask(4, (u_32_t
*)&ipe
.ipe_mask
.in4_addr
);
48 PRINTF("\tHits %qu\tBytes %qu", ipe
.ipe_hits
, ipe
.ipe_bytes
);
50 PRINTF("\tHits %lu\tBytes %lu", ipe
.ipe_hits
, ipe
.ipe_bytes
);
52 PRINTF("\tRef. Count: %d\tGroup: %s\n", ipe
.ipe_ref
,
57 if (ipe
.ipe_family
== AF_INET6
)
58 printhostmask(6, (u_32_t
*)&ipe
.ipe_addr
.in6
,
59 (u_32_t
*)&ipe
.ipe_mask
.in6
);
63 printip((u_32_t
*)&ipe
.ipe_addr
.in4_addr
);
64 printmask(4, (u_32_t
*)&ipe
.ipe_mask
.in4_addr
);
66 if (ipe
.ipe_value
!= 0) {
67 switch (iph
->iph_type
& ~IPHASH_ANON
)
69 case IPHASH_GROUPMAP
:
70 if (strncmp(ipe
.ipe_group
, iph
->iph_name
,
72 PRINTF(", group = %s", ipe
.ipe_group
);