Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/ddb/db_variables.h
39476 views
1
/*-
2
* SPDX-License-Identifier: MIT-CMU
3
*
4
* Mach Operating System
5
* Copyright (c) 1991,1990 Carnegie Mellon University
6
* All Rights Reserved.
7
*
8
* Permission to use, copy, modify and distribute this software and its
9
* documentation is hereby granted, provided that both the copyright
10
* notice and this permission notice appear in all copies of the
11
* software, derivative works or modified versions, and any portions
12
* thereof, and that both notices appear in supporting documentation.
13
*
14
* CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
15
* CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
16
* ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17
*
18
* Carnegie Mellon requests users of this software to return to
19
*
20
* Software Distribution Coordinator or [email protected]
21
* School of Computer Science
22
* Carnegie Mellon University
23
* Pittsburgh PA 15213-3890
24
*
25
* any improvements or extensions that they make and grant Carnegie the
26
* rights to redistribute these changes.
27
*/
28
29
/*
30
* Author: David B. Golub, Carnegie Mellon University
31
* Date: 7/90
32
*/
33
34
#ifndef _DDB_DB_VARIABLES_H_
35
#define _DDB_DB_VARIABLES_H_
36
37
/*
38
* Debugger variables.
39
*/
40
struct db_variable;
41
typedef int db_varfcn_t(struct db_variable *vp, db_expr_t *valuep, int op);
42
struct db_variable {
43
char *name; /* Name of variable */
44
db_expr_t *valuep; /* value of variable */
45
/* function to call when reading/writing */
46
db_varfcn_t *fcn;
47
#define DB_VAR_GET 0
48
#define DB_VAR_SET 1
49
};
50
#define FCN_NULL ((db_varfcn_t *)0)
51
52
extern struct db_variable db_regs[]; /* machine registers */
53
extern struct db_variable *db_eregs;
54
55
extern db_varfcn_t db_var_curcpu; /* DPCPU default CPU */
56
extern db_varfcn_t db_var_curvnet; /* Default vnet */
57
extern db_varfcn_t db_var_db_cpu; /* DPCPU active CPU */
58
extern db_varfcn_t db_var_db_vnet; /* Active vnet */
59
60
int db_read_variable(struct db_variable *, db_expr_t *);
61
int db_write_variable(struct db_variable *, db_expr_t);
62
63
#endif /* _!DDB_DB_VARIABLES_H_ */
64
65