1/*- 2 * Copyright (c) 1997 Doug Rabson 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sbin/kldstat/kldstat.c 150497 2005-09-23 23:52:26Z pjd $"); |
29 30#include <err.h> 31#include <stdint.h> 32#include <stdio.h> 33#include <stdlib.h> 34#include <unistd.h> 35#include <sys/types.h> 36#include <sys/param.h> --- 45 unchanged lines hidden (view full) --- 82} 83 84int 85main(int argc, char** argv) 86{ 87 int c; 88 int verbose = 0; 89 int fileid = 0; |
90 int quiet = 0; |
91 char* filename = NULL; 92 char* modname = NULL; 93 char* p; 94 |
95 while ((c = getopt(argc, argv, "i:m:n:qv")) != -1) |
96 switch (c) { 97 case 'i': 98 fileid = (int)strtoul(optarg, &p, 10); 99 if (*p != '\0') 100 usage(); 101 break; 102 case 'm': 103 modname = optarg; 104 break; 105 case 'n': 106 filename = optarg; 107 break; |
108 case 'q': 109 quiet = 1; 110 break; |
111 case 'v': 112 verbose = 1; 113 break; 114 default: 115 usage(); 116 } 117 argc -= optind; 118 argv += optind; 119 120 if (argc != 0) 121 usage(); 122 123 if (modname != NULL) { 124 int modid; 125 struct module_stat stat; 126 |
127 if ((modid = modfind(modname)) < 0) { 128 if (!quiet) 129 warn("can't find module %s", modname); 130 return 1; 131 } else if (quiet) { 132 return 0; 133 } |
134 135 stat.version = sizeof(struct module_stat); 136 if (modstat(modid, &stat) < 0) 137 warn("can't stat module id %d", modid); 138 else { 139 printf("Id Refs Name\n"); 140 printf("%3d %4d %s\n", stat.id, stat.refs, stat.name); 141 } --- 18 unchanged lines hidden --- |