2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 2N/A const char *
din_name;
/* string name of the intrinsic type */ 2N/A const char *
dty_src;
/* string name of typedef source type */ 2N/A const char *
dty_dst;
/* string name of typedef destination type */ 2N/A const char *
did_name;
/* string name of the integer type */ 2N/A void *
dt_varg;
/* vector argument, if vectored open */ 2N/A const char *
dt_errtag;
/* tag used with last call to dt_set_errmsg() */ 2N/A int dt_errno;
/* error resulting from last failed operation */ 2N/A int dt_fd;
/* file descriptor for dtrace pseudo-device */ 2N/A int dt_ftfd;
/* file descriptor for fasttrap pseudo-device */ 2N/A int dt_fterr;
/* saved errno from failed open of dt_ftfd */ 2N/A const char *
dt_filetag;
/* default filetag for dt_set_errmsg() */ 2N/A * Values for the user arg of the ECB. 2N/A * Values for the dt_linkmode property, which is used by the assembler when 2N/A * processing external symbol references. User can set using -xlink=<mode>. 2N/A * Values for the dt_linktype property, which is used by dtrace_program_link() 2N/A * to determine the type of output file that is desired by the client. 2N/A * Values for the dt_xlatemode property, which is used to determine whether 2N/A * references to dynamic translators are permitted. Set using -xlate=<mode>. 2N/A * Values for the dt_stdcmode property, which is used by the compiler when 2N/A * running cpp to determine the presence and setting of the __STDC__ macro. 2N/A#
define DT_STDC_XA 0
/* ISO C + K&R C compat w/o ISO: __STDC__=0 */ 2N/A#
define DT_STDC_XT 3 /* ISO C + K&R C compat with ISO: __STDC__=0 */ 2N/A * Macro to test whether a given pass bit is set in the dt_treedump bit-vector. 2N/A * If the bit for pass 'p' is set, the D compiler displays the parse tree for 2N/A * the program by printing it to stderr at the end of compiler pass 'p'. 2N/A * Macros for accessing the cached CTF container and type ID for the common 2N/A * types "int", "string", and <DYN>, which we need to use frequently in the D 2N/A * compiler. The DT_INT_* macro relies upon "int" being at index 0 in the 2N/A * _dtrace_ints_* tables in dt_open.c; the others are also set up there. 2N/A * Actions and subroutines are both DT_NODE_FUNC nodes; to avoid confusing 2N/A * an action for a subroutine (or vice versa), we assure that the DT_ACT_* 2N/A * constants and the DIF_SUBR_* constants occupy non-overlapping ranges by 2N/A * starting the DT_ACT_* constants at DIF_SUBR_MAX + 1. 2N/A * Sentinel to tell freopen() to restore the saved stdout. This must not 2N/A * be ever valid for opening for write access via freopen(3C), which of 2N/A * course, "." never is. 2N/A#
define EDT_BASE 1000 /* base value for libdtrace errnos */ 2N/A EDT_CTF,
/* libctf called failed (dt_ctferr has more) */ 2N/A * Interfaces for parsing and comparing DTrace attribute tuples, which describe 2N/A * stability and architectural binding information. The dtrace_attribute_t 2N/A * structure and associated constant definitions are found in <sys/dtrace.h>. 2N/A * Interfaces for parsing and handling DTrace version strings. Version binding 2N/A * is a feature of the D compiler that is handled completely independently of 2N/A * the DTrace kernel infrastructure, so the definitions are here in libdtrace. 2N/A * Version strings are compiled into an encoded uint32_t which can be compared 2N/A * using C comparison operators. Version definitions are found in dt_open.c. 2N/A ((((M) &
0xFF) <<
24) | (((m) &
0xFFF) <<
12) | ((u) &
0xFFF))
2N/A * Miscellaneous internal libdtrace interfaces. The definitions below are for 2N/A * libdtrace routines that do not yet merit their own separate header file. 2N/A#
endif /* _DT_IMPL_H */