? .gdbinit
? kdump
? kdump-ioctl.c
? kdump.html1
? siginfo.c
Index: kdump.c
===================================================================
RCS file: /cvsroot/src/usr.bin/kdump/kdump.c,v
retrieving revision 1.132
diff -u -r1.132 kdump.c
--- kdump.c 23 Jul 2019 01:54:51 -0000 1.132
+++ kdump.c 1 Apr 2020 23:56:02 -0000
@@ -59,6 +59,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -132,6 +133,7 @@
int
main(int argc, char **argv)
{
+ unsigned long int u;
unsigned int ktrlen, size;
int ch;
void *m;
@@ -140,10 +142,15 @@
const char *emul_name = "netbsd";
int col;
char *cp;
+ bool am_i_ioctlname;
+ bool am_i_ioctldecode;
setprogname(argv[0]);
- if (strcmp(getprogname(), "ioctlname") == 0) {
+ am_i_ioctlname = strcmp(getprogname(), "ioctlname") == 0;
+ am_i_ioctldecode = strcmp(getprogname(), "ioctldecode") == 0;
+
+ if (am_i_ioctlname || am_i_ioctldecode) {
int i;
while ((ch = getopt(argc, argv, "e:")) != -1)
@@ -163,8 +170,13 @@
usage();
for (i = 0; i < argc; i++) {
- ioctldecode(strtoul(argv[i], NULL, 0));
- (void)putchar('\n');
+ u = strtoul(argv[i], NULL, 0);
+ if (am_i_ioctlname)
+ printf("%s\n", ioctlname(u));
+ else {
+ ioctldecode(u);
+ (void)putchar('\n');
+ }
}
return 0;
}
@@ -1235,13 +1247,16 @@
static void
usage(void)
{
- if (strcmp(getprogname(), "ioctlname") == 0) {
+ const char *p;
+
+ p = getprogname();
+ if (strcmp(p, "ioctlname") == 0 || strcmp(p, "ioctldecode") == 0) {
(void)fprintf(stderr, "Usage: %s [-e emulation] ...\n",
- getprogname());
+ p);
} else {
(void)fprintf(stderr, "Usage: %s [-dElNnRT] [-e emulation] "
"[-f file] [-m maxdata] [-p pid]\n [-t trstr] "
- "[-x | -X size] [file]\n", getprogname());
+ "[-x | -X size] [file]\n", p);
}
exit(1);
}