diff options
Diffstat (limited to 'usr/src/cmd/truss/print.c')
-rw-r--r-- | usr/src/cmd/truss/print.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/usr/src/cmd/truss/print.c b/usr/src/cmd/truss/print.c index f6e4fd0bb8..423a658507 100644 --- a/usr/src/cmd/truss/print.c +++ b/usr/src/cmd/truss/print.c @@ -21,7 +21,7 @@ /* * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2012, Joyent, Inc. All rights reserved. + * Copyright (c) 2015, Joyent, Inc. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ @@ -83,6 +83,7 @@ #include <sys/rctl_impl.h> #include <sys/fork.h> #include <sys/task.h> +#include <sys/random.h> #include "ramdata.h" #include "print.h" #include "proto.h" @@ -2750,6 +2751,27 @@ prt_snf(private_t *pri, int raw, long val) prt_hex(pri, 0, val); } +void +prt_grf(private_t *pri, int raw, long val) +{ + int first = 1; + + if (raw != 0 || val == 0 || + (val & ~(GRND_NONBLOCK | GRND_RANDOM)) != 0) { + outstring(pri, "0"); + return; + } + + if (val & GRND_NONBLOCK) { + outstring(pri, "|GRND_NONBLOCK" + first); + first = 0; + } + if (val & GRND_RANDOM) { + outstring(pri, "|GRND_RANDOM" + first); + first = 0; + } +} + /* * Array of pointers to print functions, one for each format. */ @@ -2855,5 +2877,6 @@ void (* const Print[])() = { prt_skc, /* SKC -- print sockconfig() subcode */ prt_acf, /* ACF -- print accept4 flags */ prt_pfd, /* PFD -- print pipe fds */ + prt_grf, /* GRF -- print getrandom flags */ prt_dec, /* HID -- hidden argument, make this the last one */ }; |