Annotation of Gnu-Mach/ddb/db_variables.h, revision 1.1.1.3

1.1       root        1: /* 
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990 Carnegie Mellon University
                      4:  * All Rights Reserved.
                      5:  * 
                      6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
                     11:  * 
                     12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     15:  * 
                     16:  * Carnegie Mellon requests users of this software to return to
                     17:  * 
                     18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
                     22:  * 
                     23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: /*
                     27:  *     Author: David B. Golub, Carnegie Mellon University
                     28:  *     Date:   7/90
                     29:  */
                     30: 
                     31: #ifndef        _DB_VARIABLES_H_
                     32: #define        _DB_VARIABLES_H_
                     33: 
                     34: #include <kern/thread.h>
1.1.1.3 ! root       35: #include <machine/db_machdep.h>
1.1       root       36: 
                     37: /*
                     38:  * Debugger variables.
                     39:  */
1.1.1.2   root       40: struct db_var_aux_param; /* forward */
                     41: typedef struct db_var_aux_param        *db_var_aux_param_t; /* forward */
1.1       root       42: struct db_variable {
                     43:        char    *name;          /* Name of variable */
                     44:        db_expr_t *valuep;      /* pointer to value of variable */
                     45:                                /* function to call when reading/writing */
1.1.1.3 ! root       46:        void    (*fcn)(struct db_variable *, db_expr_t *, int, db_var_aux_param_t);
1.1       root       47:        short   min_level;      /* number of minimum suffix levels */
                     48:        short   max_level;      /* number of maximum suffix levels */
                     49:        short   low;            /* low value of level 1 suffix */
                     50:        short   high;           /* high value of level 1 suffix */
                     51: #define DB_VAR_GET     0
                     52: #define DB_VAR_SET     1
                     53: };
1.1.1.3 ! root       54: #define        FCN_NULL        ((void (*)())0)
1.1       root       55: 
                     56: #define DB_VAR_LEVEL   3       /* maximum number of suffix level */
                     57: 
                     58: #define db_read_variable(vp, valuep)   \
                     59:        db_read_write_variable(vp, valuep, DB_VAR_GET, 0)
                     60: #define db_write_variable(vp, valuep)  \
                     61:        db_read_write_variable(vp, valuep, DB_VAR_SET, 0)
                     62: 
                     63: /*
                     64:  * auxiliary parameters passed to a variable handler
                     65:  */
                     66: struct db_var_aux_param {
                     67:        char            *modif;                 /* option strings */
                     68:        short           level;                  /* number of levels */
                     69:        short           suffix[DB_VAR_LEVEL];   /* suffix */
                     70:        thread_t        thread;                 /* target task */
                     71: };
                     72: 
1.1.1.2   root       73: /* Already defined above.  */
                     74: /* typedef struct db_var_aux_param     *db_var_aux_param_t; */
1.1       root       75:        
                     76: 
                     77: extern struct db_variable      db_vars[];      /* debugger variables */
                     78: extern struct db_variable      *db_evars;
                     79: extern struct db_variable      db_regs[];      /* machine registers */
                     80: extern struct db_variable      *db_eregs;
                     81: 
1.1.1.2   root       82: extern int db_get_variable(db_expr_t *valuep);
                     83: 
1.1.1.3 ! root       84: void db_set_cmd(void);
        !            85: 
        !            86: void db_read_write_variable(struct db_variable *, db_expr_t *, int, struct db_var_aux_param *);
1.1.1.2   root       87: 
1.1       root       88: #endif /* _DB_VARIABLES_H_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.