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