]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/dtrace_impl.h
xnu-6153.61.1.tar.gz
[apple/xnu.git] / bsd / sys / dtrace_impl.h
index cfc07b33fe813b8b77d2232857e8f8b5ec23fed2..e7bb586970f8910b3710f569f407669645d9eb90 100644 (file)
@@ -1185,6 +1185,13 @@ typedef struct dtrace_cred {
        uint16_t                dcr_action;
 } dtrace_cred_t;
 
+typedef struct dtrace_format {
+       uint64_t dtf_refcount;
+       char dtf_str[];
+} dtrace_format_t;
+
+#define DTRACE_FORMAT_SIZE(fmt) (strlen(fmt->dtf_str) + 1 + sizeof(dtrace_format_t))
+
 /*
  * DTrace Consumer State
  *
@@ -1224,7 +1231,7 @@ struct dtrace_state {
        char dts_speculates;                    /* boolean: has speculations */
        char dts_destructive;                   /* boolean: has dest. actions */
        int dts_nformats;                       /* number of formats */
-       char **dts_formats;                     /* format string array */
+       dtrace_format_t **dts_formats;          /* format string array */
        dtrace_optval_t dts_options[DTRACEOPT_MAX]; /* options */
        dtrace_cred_t dts_cred;                 /* credentials */
        size_t dts_nretained;                   /* number of retained enabs */
@@ -1314,7 +1321,6 @@ typedef struct dtrace_errhash {
 
 #endif /* DTRACE_ERRDEBUG */
 
-
 typedef struct dtrace_string dtrace_string_t;
 
 typedef struct dtrace_string {