Print this page
7085 add support for "if" and "else" statements in dtrace
@@ -23,11 +23,11 @@
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
- * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2014 by Delphix. All rights reserved.
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
*/
#ifndef _DTRACE_H
#define _DTRACE_H
@@ -53,10 +53,11 @@
*/
#define DTRACE_VERSION 3 /* library ABI interface version */
struct ps_prochandle;
+struct dt_node;
typedef struct dtrace_hdl dtrace_hdl_t;
typedef struct dtrace_prog dtrace_prog_t;
typedef struct dtrace_vector dtrace_vector_t;
typedef struct dtrace_aggdata dtrace_aggdata_t;
@@ -109,11 +110,11 @@
#define DTRACE_C_ZDEFS 0x0004 /* Permit probe defs that match zero probes */
#define DTRACE_C_EATTR 0x0008 /* Error if program attributes less than min */
#define DTRACE_C_CPP 0x0010 /* Preprocess input file with cpp(1) utility */
#define DTRACE_C_KNODEF 0x0020 /* Permit unresolved kernel symbols in DIFO */
#define DTRACE_C_UNODEF 0x0040 /* Permit unresolved user symbols in DIFO */
-#define DTRACE_C_PSPEC 0x0080 /* Intepret ambiguous specifiers as probes */
+#define DTRACE_C_PSPEC 0x0080 /* Interpret ambiguous specifiers as probes */
#define DTRACE_C_ETAGS 0x0100 /* Prefix error messages with error tags */
#define DTRACE_C_ARGREF 0x0200 /* Do not require all macro args to be used */
#define DTRACE_C_DEFARG 0x0800 /* Use 0/"" as value for unspecified args */
#define DTRACE_C_NOLIBS 0x1000 /* Do not process D system libraries */
#define DTRACE_C_CTL 0x2000 /* Only process control directives */
@@ -517,10 +518,14 @@
const char *, dtrace_typeinfo_t *);
extern int dtrace_type_fcompile(dtrace_hdl_t *,
FILE *, dtrace_typeinfo_t *);
+extern struct dt_node *dt_compile_sugar(dtrace_hdl_t *,
+ struct dt_node *);
+
+
/*
* DTrace Probe Interface
*
* Library clients can use these functions to iterate over the set of available
* probe definitions and inquire as to their attributes. The probe iteration