Module Name: src Committed By: pooka Date: Mon Nov 15 22:45:24 UTC 2010
Modified Files: src/sys/rump/net/lib/libshmif: dumpbus.c Log Message: add -h which prints only the bus header info To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/rump/net/lib/libshmif/dumpbus.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/net/lib/libshmif/dumpbus.c diff -u src/sys/rump/net/lib/libshmif/dumpbus.c:1.8 src/sys/rump/net/lib/libshmif/dumpbus.c:1.9 --- src/sys/rump/net/lib/libshmif/dumpbus.c:1.8 Fri Aug 13 11:45:47 2010 +++ src/sys/rump/net/lib/libshmif/dumpbus.c Mon Nov 15 22:45:23 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: dumpbus.c,v 1.8 2010/08/13 11:45:47 pooka Exp $ */ +/* $NetBSD: dumpbus.c,v 1.9 2010/11/15 22:45:23 pooka Exp $ */ /* * Little utility to convert shmif bus traffic to a pcap file @@ -26,7 +26,7 @@ usage(void) { - fprintf(stderr, "usage: a.out [-p pcapfile]�buspath\n"); + fprintf(stderr, "usage: a.out [-h]�[-p pcapfile]�buspath\n"); exit(1); } @@ -42,9 +42,13 @@ int fd, pfd, i, ch; int bonus; char *buf; + bool hflag = false; - while ((ch = getopt(argc, argv, "p:")) != -1) { + while ((ch = getopt(argc, argv, "hp:")) != -1) { switch (ch) { + case 'h': + hflag = true; + break; case 'p': pcapfile = optarg; break; @@ -70,11 +74,11 @@ if (fstat(fd, &sb) == -1) err(1, "stat"); - busmem = mmap(NULL, sb.st_size, PROT_READ, MAP_FILE, fd, 0); + busmem = mmap(NULL, sb.st_size, PROT_READ, MAP_FILE|MAP_SHARED, fd, 0); if (busmem == MAP_FAILED) err(1, "mmap"); - bmem = busmem; + if (bmem->shm_magic != SHMIF_MAGIC) errx(1, "%s not a shmif bus", argv[0]); if (bmem->shm_version != SHMIF_VERSION) @@ -85,6 +89,9 @@ bmem->shm_version, bmem->shm_lock, bmem->shm_gen, bmem->shm_first, bmem->shm_last); + if (hflag) + exit(0); + if (pcapfile) { struct pcap_file_header phdr;