summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdtrace/common/dt_parser.h
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@fingolfin.org>2022-10-22 18:22:05 +0000
committerRobert Mustacchi <rm@fingolfin.org>2022-11-10 04:12:39 +0000
commit6eeafb34dceabceff80ed689002b6dc3e060f498 (patch)
treefe7289898a2a9c5fb349b5cd4d5aef9cfc5ea29a /usr/src/lib/libdtrace/common/dt_parser.h
parent603778843038dfbc5672c2565d9ce3dac034609d (diff)
downloadillumos-gate-6eeafb34dceabceff80ed689002b6dc3e060f498.tar.gz
15109 dtrace replicated mdb's bitfield mistakes
15111 dtrace -xtree doesn't always escape strings Reviewed by: Adam Leventhal <adam.leventhal@gmail.com> Approved by: Gordon Ross <gordon.w.ross@gmail.com>
Diffstat (limited to 'usr/src/lib/libdtrace/common/dt_parser.h')
-rw-r--r--usr/src/lib/libdtrace/common/dt_parser.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/usr/src/lib/libdtrace/common/dt_parser.h b/usr/src/lib/libdtrace/common/dt_parser.h
index f5f60a518e..96022ac5c1 100644
--- a/usr/src/lib/libdtrace/common/dt_parser.h
+++ b/usr/src/lib/libdtrace/common/dt_parser.h
@@ -25,6 +25,7 @@
/*
* Copyright (c) 2013, 2016 by Delphix. All rights reserved.
* Copyright (c) 2013 Joyent, Inc. All rights reserved.
+ * Copyright 2022 Oxide Computer Company
*/
#ifndef _DT_PARSER_H
@@ -50,6 +51,7 @@ extern "C" {
typedef struct dt_node {
ctf_file_t *dn_ctfp; /* CTF type container for node's type */
ctf_id_t dn_type; /* CTF type reference for node's type */
+ ulong_t dn_bitoff; /* Offset to the start of the CTF type */
uchar_t dn_kind; /* node kind (DT_NODE_*, defined below) */
uchar_t dn_flags; /* node flags (DT_NF_*, defined below) */
ushort_t dn_op; /* operator (DT_TOK_*, defined by lex) */
@@ -239,6 +241,8 @@ extern void dt_node_link_free(dt_node_t **);
extern void dt_node_attr_assign(dt_node_t *, dtrace_attribute_t);
extern void dt_node_type_assign(dt_node_t *, ctf_file_t *, ctf_id_t, boolean_t);
+extern void dt_node_type_assign_bitfield(dt_node_t *, ctf_file_t *, ctf_id_t,
+ boolean_t, ulong_t);
extern void dt_node_type_propagate(const dt_node_t *, dt_node_t *);
extern const char *dt_node_type_name(const dt_node_t *, char *, size_t);
extern size_t dt_node_type_size(const dt_node_t *);