⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dt_provider.h

📁 Sun Solaris 10 中的 DTrace 组件的源代码。请参看: http://www.sun.com/software/solaris/observability.jsp
💻 H
字号:
/* * Copyright 2005 Sun Microsystems, Inc.  All rights reserved. * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only. * See the file usr/src/LICENSING.NOTICE in this distribution or * http://www.opensolaris.org/license/ for details. */#ifndef	_DT_PROVIDER_H#define	_DT_PROVIDER_H#pragma ident	"@(#)dt_provider.h	1.3	04/06/22 SMI"#include <dt_impl.h>#include <dt_ident.h>#include <dt_list.h>#ifdef	__cplusplusextern "C" {#endiftypedef struct dt_provider {	dt_list_t pv_list;		/* list forward/back pointers */	struct dt_provider *pv_next;	/* pointer to next provider in hash */	dtrace_providerdesc_t pv_desc;	/* provider name and attributes */	dt_idhash_t *pv_probes;		/* probe defs (if user-declared) */	dt_node_t *pv_nodes;		/* parse node allocation list */	ulong_t pv_gen;			/* generation # that created me */} dt_provider_t;typedef struct dt_probe_instance dt_probe_instance_t;struct dt_probe_instance {	char pi_fname[DTRACE_FUNCNAMELEN]; /* function name */	uint32_t *pi_offs;		/* offsets into the function */	uint_t pi_noffs;		/* number of offsets */	uint_t pi_maxoffs;		/* size of pi_offs allocation */	dt_probe_instance_t *pi_next;	/* next instance in the list */};typedef struct dt_probe {	dt_ident_t *pr_ident;		/* pointer to probe identifier */	dt_node_t *pr_nargs;		/* native argument list */	uint_t pr_nargc;		/* native argument count */	dt_node_t *pr_xargs;		/* translated argument list */	uint_t pr_xargc;		/* translated argument count */	uint8_t *pr_mapping;		/* translated argument mapping */	dt_probe_instance_t *pr_inst;	/* list of functions and offsets */} dt_probe_t;extern dt_provider_t *dt_provider_lookup(dtrace_hdl_t *, const char *);extern dt_provider_t *dt_provider_create(dtrace_hdl_t *, const char *);extern void dt_provider_destroy(dtrace_hdl_t *, dt_provider_t *);extern dt_probe_t *dt_probe_lookup(dt_provider_t *, const char *);extern dt_probe_t *dt_probe_create(dt_ident_t *,    dt_node_t *, uint_t, dt_node_t *, uint_t);extern void dt_probe_destroy(dt_ident_t *);extern int dt_probe_add(dtrace_hdl_t *, dt_probe_t *, const char *,    uint64_t);#ifdef	__cplusplus}#endif#endif	/* _DT_PROVIDER_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -