forked from Lainports/freebsd-ports
patch around. Also fix a typo and email markup, both spotted by Pav. Reported by: Lars Wittebrood Approved by: pav
44 lines
1.3 KiB
C
44 lines
1.3 KiB
C
--- pf.c.orig Thu May 11 23:41:07 2006
|
|
+++ pf.c Mon Dec 11 21:08:31 2006
|
|
@@ -67,10 +67,8 @@
|
|
|
|
/* first, find out how many queues there are */
|
|
memset(&pa, 0, sizeof(pa));
|
|
- if (ioctl(fd, DIOCGETALTQS, &pa)) {
|
|
- fprintf(stderr, "ioctl: DIOCGETALTQS: %s\n", strerror(errno));
|
|
- return (1);
|
|
- }
|
|
+ if (ioctl(fd, DIOCGETALTQS, &pa))
|
|
+ return (0);
|
|
mnr = pa.nr;
|
|
|
|
/* fetch each of those queues */
|
|
@@ -144,23 +142,24 @@
|
|
query_ifaces(int fd, void (*cb)(int, const char *, int, double))
|
|
{
|
|
struct pfioc_iface io;
|
|
- struct pfi_kif ifs[256];
|
|
+ struct pfi_if ifs[256];
|
|
int i, j;
|
|
|
|
memset(&io, 0, sizeof(io));
|
|
io.pfiio_buffer = ifs;
|
|
io.pfiio_esize = sizeof(ifs[0]);
|
|
io.pfiio_size = sizeof(ifs) / sizeof(ifs[0]);
|
|
+ io.pfiio_flags = PFI_FLAG_ALLMASK;
|
|
if (ioctl(fd, DIOCIGETIFACES, &io)) {
|
|
fprintf(stderr, "ioctl: DIOCIGETIFACES: %s\n", strerror(errno));
|
|
return (1);
|
|
}
|
|
for (i = 0; i < io.pfiio_size; ++i)
|
|
for (j = 0; j < 16; ++j)
|
|
- (*cb)(COL_TYPE_IFACE, ifs[i].pfik_name,
|
|
+ (*cb)(COL_TYPE_IFACE, ifs[i].pfif_name,
|
|
j, j & 4 ?
|
|
- ifs[i].pfik_packets[j&1?0:1][j&2?0:1][j&8?0:1] :
|
|
- ifs[i].pfik_bytes[j&1?0:1][j&2?0:1][j&8?0:1]);
|
|
+ ifs[i].pfif_packets[j&1?0:1][j&2?0:1][j&8?0:1] :
|
|
+ ifs[i].pfif_bytes[j&1?0:1][j&2?0:1][j&8?0:1]);
|
|
/* bytes/packets[af][dir][op] */
|
|
return (0);
|
|
}
|