xref: /freebsd/sys/ddb/db_variables.h (revision 4753168fae3062574cec15130f5140ddfb53b59f)
15b81b6b3SRodney W. Grimes /*
25b81b6b3SRodney W. Grimes  * Mach Operating System
35b81b6b3SRodney W. Grimes  * Copyright (c) 1991,1990 Carnegie Mellon University
45b81b6b3SRodney W. Grimes  * All Rights Reserved.
55b81b6b3SRodney W. Grimes  *
65b81b6b3SRodney W. Grimes  * Permission to use, copy, modify and distribute this software and its
75b81b6b3SRodney W. Grimes  * documentation is hereby granted, provided that both the copyright
85b81b6b3SRodney W. Grimes  * notice and this permission notice appear in all copies of the
95b81b6b3SRodney W. Grimes  * software, derivative works or modified versions, and any portions
105b81b6b3SRodney W. Grimes  * thereof, and that both notices appear in supporting documentation.
115b81b6b3SRodney W. Grimes  *
125b81b6b3SRodney W. Grimes  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
135b81b6b3SRodney W. Grimes  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
145b81b6b3SRodney W. Grimes  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
155b81b6b3SRodney W. Grimes  *
165b81b6b3SRodney W. Grimes  * Carnegie Mellon requests users of this software to return to
175b81b6b3SRodney W. Grimes  *
185b81b6b3SRodney W. Grimes  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
195b81b6b3SRodney W. Grimes  *  School of Computer Science
205b81b6b3SRodney W. Grimes  *  Carnegie Mellon University
215b81b6b3SRodney W. Grimes  *  Pittsburgh PA 15213-3890
225b81b6b3SRodney W. Grimes  *
235b81b6b3SRodney W. Grimes  * any improvements or extensions that they make and grant Carnegie the
245b81b6b3SRodney W. Grimes  * rights to redistribute these changes.
250edf66ecSRodney W. Grimes  *
264753168fSBruce Evans  *	$Id: db_variables.h,v 1.4 1995/05/30 07:57:19 rgrimes Exp $
275b81b6b3SRodney W. Grimes  */
280edf66ecSRodney W. Grimes 
295b81b6b3SRodney W. Grimes /*
305b81b6b3SRodney W. Grimes  * 	Author: David B. Golub, Carnegie Mellon University
315b81b6b3SRodney W. Grimes  *	Date:	7/90
325b81b6b3SRodney W. Grimes  */
335b81b6b3SRodney W. Grimes 
344753168fSBruce Evans #ifndef _DDB_DB_VARIABLES_H_
354753168fSBruce Evans #define	_DDB_DB_VARIABLES_H_
365b81b6b3SRodney W. Grimes 
375b81b6b3SRodney W. Grimes /*
385b81b6b3SRodney W. Grimes  * Debugger variables.
395b81b6b3SRodney W. Grimes  */
404753168fSBruce Evans struct db_variable;
414753168fSBruce Evans typedef	int	db_varfcn_t __P((struct db_variable *vp, db_expr_t *valuep,
424753168fSBruce Evans 				 int op));
435b81b6b3SRodney W. Grimes struct db_variable {
445b81b6b3SRodney W. Grimes 	char	*name;		/* Name of variable */
455b81b6b3SRodney W. Grimes 	int	*valuep;	/* value of variable */
465b81b6b3SRodney W. Grimes 				/* function to call when reading/writing */
474753168fSBruce Evans 	db_varfcn_t *fcn;
485b81b6b3SRodney W. Grimes #define DB_VAR_GET	0
495b81b6b3SRodney W. Grimes #define DB_VAR_SET	1
505b81b6b3SRodney W. Grimes };
514753168fSBruce Evans #define	FCN_NULL	((db_varfcn_t *)0)
525b81b6b3SRodney W. Grimes 
535b81b6b3SRodney W. Grimes extern struct db_variable	db_vars[];	/* debugger variables */
545b81b6b3SRodney W. Grimes extern struct db_variable	*db_evars;
555b81b6b3SRodney W. Grimes extern struct db_variable	db_regs[];	/* machine registers */
565b81b6b3SRodney W. Grimes extern struct db_variable	*db_eregs;
575b81b6b3SRodney W. Grimes 
584753168fSBruce Evans void	db_read_variable __P((struct db_variable *, db_expr_t *));
59381fe1aaSGarrett Wollman 
604753168fSBruce Evans #endif /* _!DDB_DB_VARIABLES_H_ */
61