dtrace.h (179198) | dtrace.h (211555) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 1308 unchanged lines hidden (view full) --- 1317 * encapsulates the name and base address of the user-level library or 1318 * executable publishing the helpers and probes as well as the DOF that 1319 * contains the definitions of those helpers and probes. 1320 * 1321 * The DTRACEHIOC_ADD and DTRACEHIOC_REMOVE are left in place for legacy 1322 * helpers and should no longer be used. No other ioctls are valid on the 1323 * helper minor node. 1324 */ | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 1308 unchanged lines hidden (view full) --- 1317 * encapsulates the name and base address of the user-level library or 1318 * executable publishing the helpers and probes as well as the DOF that 1319 * contains the definitions of those helpers and probes. 1320 * 1321 * The DTRACEHIOC_ADD and DTRACEHIOC_REMOVE are left in place for legacy 1322 * helpers and should no longer be used. No other ioctls are valid on the 1323 * helper minor node. 1324 */ |
1325#if defined(sun) |
|
1325#define DTRACEHIOC (('d' << 24) | ('t' << 16) | ('h' << 8)) 1326#define DTRACEHIOC_ADD (DTRACEHIOC | 1) /* add helper */ 1327#define DTRACEHIOC_REMOVE (DTRACEHIOC | 2) /* remove helper */ 1328#define DTRACEHIOC_ADDDOF (DTRACEHIOC | 3) /* add helper DOF */ | 1326#define DTRACEHIOC (('d' << 24) | ('t' << 16) | ('h' << 8)) 1327#define DTRACEHIOC_ADD (DTRACEHIOC | 1) /* add helper */ 1328#define DTRACEHIOC_REMOVE (DTRACEHIOC | 2) /* remove helper */ 1329#define DTRACEHIOC_ADDDOF (DTRACEHIOC | 3) /* add helper DOF */ |
1330#else 1331#define DTRACEHIOC_ADD _IOWR('z', 1, dof_hdr_t)/* add helper */ 1332#define DTRACEHIOC_REMOVE _IOW('z', 2, int) /* remove helper */ 1333#define DTRACEHIOC_ADDDOF _IOWR('z', 3, dof_helper_t)/* add helper DOF */ 1334#endif |
|
1329 1330typedef struct dof_helper { 1331 char dofhp_mod[DTRACE_MODNAMELEN]; /* executable or library name */ 1332 uint64_t dofhp_addr; /* base address of object */ 1333 uint64_t dofhp_dof; /* address of helper DOF */ | 1335 1336typedef struct dof_helper { 1337 char dofhp_mod[DTRACE_MODNAMELEN]; /* executable or library name */ 1338 uint64_t dofhp_addr; /* base address of object */ 1339 uint64_t dofhp_dof; /* address of helper DOF */ |
1340#if !defined(sun) 1341 int gen; 1342#endif |
|
1334} dof_helper_t; 1335 1336#define DTRACEMNR_DTRACE "dtrace" /* node for DTrace ops */ 1337#define DTRACEMNR_HELPER "helper" /* node for helpers */ 1338#define DTRACEMNRN_DTRACE 0 /* minor for DTrace ops */ 1339#define DTRACEMNRN_HELPER 1 /* minor for helpers */ 1340#define DTRACEMNRN_CLONE 2 /* first clone minor */ 1341 --- 872 unchanged lines hidden (view full) --- 2214#endif 2215extern void dtrace_vtime_switch(kthread_t *next); 2216extern void dtrace_vtime_enable_tnf(void); 2217extern void dtrace_vtime_disable_tnf(void); 2218extern void dtrace_vtime_enable(void); 2219extern void dtrace_vtime_disable(void); 2220 2221struct regs; | 1343} dof_helper_t; 1344 1345#define DTRACEMNR_DTRACE "dtrace" /* node for DTrace ops */ 1346#define DTRACEMNR_HELPER "helper" /* node for helpers */ 1347#define DTRACEMNRN_DTRACE 0 /* minor for DTrace ops */ 1348#define DTRACEMNRN_HELPER 1 /* minor for helpers */ 1349#define DTRACEMNRN_CLONE 2 /* first clone minor */ 1350 --- 872 unchanged lines hidden (view full) --- 2223#endif 2224extern void dtrace_vtime_switch(kthread_t *next); 2225extern void dtrace_vtime_enable_tnf(void); 2226extern void dtrace_vtime_disable_tnf(void); 2227extern void dtrace_vtime_enable(void); 2228extern void dtrace_vtime_disable(void); 2229 2230struct regs; |
2231struct reg; |
|
2222 2223#if defined(sun) | 2232 2233#if defined(sun) |
2224extern int (*dtrace_pid_probe_ptr)(struct regs *); 2225extern int (*dtrace_return_probe_ptr)(struct regs *); | 2234extern int (*dtrace_pid_probe_ptr)(struct reg *); 2235extern int (*dtrace_return_probe_ptr)(struct reg *); |
2226extern void (*dtrace_fasttrap_fork_ptr)(proc_t *, proc_t *); 2227extern void (*dtrace_fasttrap_exec_ptr)(proc_t *); 2228extern void (*dtrace_fasttrap_exit_ptr)(proc_t *); 2229extern void dtrace_fasttrap_fork(proc_t *, proc_t *); 2230#endif 2231 2232typedef uintptr_t dtrace_icookie_t; 2233typedef void (*dtrace_xcall_t)(void *); --- 76 unchanged lines hidden --- | 2236extern void (*dtrace_fasttrap_fork_ptr)(proc_t *, proc_t *); 2237extern void (*dtrace_fasttrap_exec_ptr)(proc_t *); 2238extern void (*dtrace_fasttrap_exit_ptr)(proc_t *); 2239extern void dtrace_fasttrap_fork(proc_t *, proc_t *); 2240#endif 2241 2242typedef uintptr_t dtrace_icookie_t; 2243typedef void (*dtrace_xcall_t)(void *); --- 76 unchanged lines hidden --- |