summaryrefslogtreecommitdiff
path: root/usr/src/cmd/truss/print.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/truss/print.c')
-rw-r--r--usr/src/cmd/truss/print.c38
1 files changed, 36 insertions, 2 deletions
diff --git a/usr/src/cmd/truss/print.c b/usr/src/cmd/truss/print.c
index f49197a7f6..66a9d7387e 100644
--- a/usr/src/cmd/truss/print.c
+++ b/usr/src/cmd/truss/print.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, Joyent, Inc. All rights reserved.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
@@ -82,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"
@@ -843,6 +845,7 @@ prt_mad(private_t *pri, int raw, long val) /* print madvise() argument */
case MADV_ACCESS_DEFAULT: s = "MADV_ACCESS_DEFAULT"; break;
case MADV_ACCESS_LWP: s = "MADV_ACCESS_LWP"; break;
case MADV_ACCESS_MANY: s = "MADV_ACCESS_MANY"; break;
+ case MADV_PURGE: s = "MADV_PURGE"; break;
}
}
@@ -870,7 +873,9 @@ prt_mc4(private_t *pri, int raw, long val) /* print memcntl() (4th) argument */
return;
case MC_SYNC:
- if ((val & ~(MS_SYNC|MS_ASYNC|MS_INVALIDATE)) == 0) {
+ if ((val &
+ ~(MS_SYNC|MS_ASYNC|MS_INVALIDATE|MS_INVALCURPROC))
+ == 0) {
*(s = pri->code_buf) = '\0';
if (val & MS_SYNC)
(void) strlcat(s, "|MS_SYNC", CBSIZE);
@@ -879,6 +884,9 @@ prt_mc4(private_t *pri, int raw, long val) /* print memcntl() (4th) argument */
if (val & MS_INVALIDATE)
(void) strlcat(s, "|MS_INVALIDATE",
CBSIZE);
+ if (val & MS_INVALCURPROC)
+ (void) strlcat(s, "|MS_INVALCURPROC",
+ CBSIZE);
}
break;
@@ -1992,6 +2000,7 @@ udp_optname(private_t *pri, long val)
case UDP_EXCLBIND: return ("UDP_EXCLBIND");
case UDP_RCVHDR: return ("UDP_RCVHDR");
case UDP_NAT_T_ENDPOINT: return ("UDP_NAT_T_ENDPOINT");
+ case UDP_SRCPORT_HASH: return ("UDP_SRCPORT_HASH");
default: (void) snprintf(pri->code_buf,
sizeof (pri->code_buf), "0x%lx",
@@ -2440,7 +2449,10 @@ prt_zga(private_t *pri, int raw, long val)
case ZONE_ATTR_BOOTARGS: s = "ZONE_ATTR_BOOTARGS"; break;
case ZONE_ATTR_BRAND: s = "ZONE_ATTR_BRAND"; break;
case ZONE_ATTR_FLAGS: s = "ZONE_ATTR_FLAGS"; break;
- case ZONE_ATTR_PHYS_MCAP: s = "ZONE_ATTR_PHYS_MCAP"; break;
+ case ZONE_ATTR_DID: s = "ZONE_ATTR_DID"; break;
+ case ZONE_ATTR_PMCAP_NOVER: s = "ZONE_ATTR_PMCAP_NOVER"; break;
+ case ZONE_ATTR_PMCAP_PAGEOUT: s = "ZONE_ATTR_PMCAP_PAGEOUT";
+ break;
}
}
@@ -2741,6 +2753,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.
*/
@@ -2846,5 +2879,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 */
};