kdump: Decode SOCK_CLOEXEC and SOCK_NONBLOCK in socket() and socketpair().

This commit is contained in:
jilles 2013-08-26 17:22:51 +00:00
parent f0d4afc2d2
commit 24cd181d1e
2 changed files with 15 additions and 2 deletions

View File

@ -830,7 +830,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags)
ip++;
narg--;
putchar(',');
socktypename(*ip);
socktypenamewithflags(*ip);
ip++;
narg--;
if (sockdomain == PF_INET ||
@ -908,7 +908,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags)
ip++;
narg--;
putchar(',');
socktypename(*ip);
socktypenamewithflags(*ip);
ip++;
narg--;
c = ',';

View File

@ -368,6 +368,19 @@ vmprotname (int type)
if_print_or(type, VM_PROT_EXECUTE, or);
if_print_or(type, VM_PROT_COPY, or);
}
/*
* MANUAL
*/
void
socktypenamewithflags(int type)
{
if (type & SOCK_CLOEXEC)
printf("SOCK_CLOEXEC|"), type &= ~SOCK_CLOEXEC;
if (type & SOCK_NONBLOCK)
printf("SOCK_NONBLOCK|"), type &= ~SOCK_NONBLOCK;
socktypename(type);
}
_EOF_
auto_or_type "accessmodename" "[A-Z]_OK[[:space:]]+0?x?[0-9A-Fa-f]+" "sys/unistd.h"