summaryrefslogtreecommitdiff
path: root/usr/src/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd')
-rw-r--r--usr/src/cmd/truss/print.c25
-rw-r--r--usr/src/cmd/truss/print.h4
-rw-r--r--usr/src/cmd/truss/systable.c2
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 */