diff options
Diffstat (limited to 'usr/src/cmd')
-rw-r--r-- | usr/src/cmd/truss/print.c | 25 | ||||
-rw-r--r-- | usr/src/cmd/truss/print.h | 4 | ||||
-rw-r--r-- | usr/src/cmd/truss/systable.c | 2 |
3 files changed, 28 insertions, 3 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 */ }; diff --git a/usr/src/cmd/truss/print.h b/usr/src/cmd/truss/print.h index 9a9a43b4cb..8725d2ca85 100644 --- a/usr/src/cmd/truss/print.h +++ b/usr/src/cmd/truss/print.h @@ -21,6 +21,7 @@ /* * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, Joyent, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ @@ -139,7 +140,8 @@ extern "C" { #define SKC 98 /* print sockconfig subcode */ #define ACF 99 /* accept4 flags */ #define PFD 100 /* pipe fds[2] */ -#define HID 101 /* hidden argument, don't print */ +#define GRF 101 /* getrandom flags */ +#define HID 102 /* hidden argument, don't print */ /* make sure HID is always the last member */ /* diff --git a/usr/src/cmd/truss/systable.c b/usr/src/cmd/truss/systable.c index 6035e8bcc6..8c736a7044 100644 --- a/usr/src/cmd/truss/systable.c +++ b/usr/src/cmd/truss/systable.c @@ -348,7 +348,7 @@ const struct systable systable[] = { {"preadv", 4, DEC, NOV, DEC, HEX, DEC, DEC}, /* 123 */ {"pwritev", 4, DEC, NOV, DEC, HEX, DEC, DEC}, /* 124 */ { NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, -{ NULL, 8, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX, HEX}, +{"getrandom", 3, DEC, NOV, IOB, UNS, GRF}, /* 126 */ {"mmapobj", 5, DEC, NOV, DEC, MOB, HEX, HEX, HEX}, /* 127 */ {"setrlimit", 2, DEC, NOV, RLM, HEX}, /* 128 */ {"getrlimit", 2, DEC, NOV, RLM, HEX}, /* 129 */ |