1 /* $OpenBSD: db_variables.h,v 1.8 2016/01/25 14:30:30 mpi Exp $ */ 2 /* $NetBSD: db_variables.h,v 1.5 1996/02/05 01:57:21 christos Exp $ */ 3 4 /* 5 * Mach Operating System 6 * Copyright (c) 1993,1992,1991,1990 Carnegie Mellon University 7 * All Rights Reserved. 8 * 9 * Permission to use, copy, modify and distribute this software and its 10 * documentation is hereby granted, provided that both the copyright 11 * notice and this permission notice appear in all copies of the 12 * software, derivative works or modified versions, and any portions 13 * thereof, and that both notices appear in supporting documentation. 14 * 15 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 16 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 17 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 18 * 19 * Carnegie Mellon requests users of this software to return to 20 * 21 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 22 * School of Computer Science 23 * Carnegie Mellon University 24 * Pittsburgh PA 15213-3890 25 * 26 * any improvements or extensions that they make and grant Carnegie Mellon 27 * the rights to redistribute these changes. 28 * 29 * Author: David B. Golub, Carnegie Mellon University 30 * Date: 7/90 31 */ 32 33 #ifndef _DB_VARIABLES_H_ 34 #define _DB_VARIABLES_H_ 35 36 /* 37 * Debugger variables. 38 */ 39 struct db_variable { 40 char *name; /* Name of variable */ 41 long *valuep; /* value of variable */ 42 /* function to call when reading/writing */ 43 int (*fcn)(struct db_variable *, db_expr_t *, int); 44 #define DB_VAR_GET 0 45 #define DB_VAR_SET 1 46 }; 47 #define FCN_NULL ((int (*)(struct db_variable *, db_expr_t *, int))0) 48 49 extern struct db_variable db_vars[]; /* debugger variables */ 50 extern struct db_variable *db_evars; 51 extern struct db_variable db_regs[]; /* machine registers */ 52 extern struct db_variable *db_eregs; 53 54 int db_find_variable(struct db_variable **); 55 int db_get_variable(db_expr_t *); 56 int db_set_variable(db_expr_t); 57 void db_read_variable(struct db_variable *, db_expr_t *); 58 void db_write_variable(struct db_variable *, db_expr_t *); 59 void db_set_cmd(db_expr_t, int, db_expr_t, char *); 60 int db_var_rw_int(struct db_variable *, db_expr_t *, int); 61 62 #endif /* _DB_VARIABLES_H_ */ 63