Commit | Line | Data |
---|---|---|
196ba1fc PH |
1 | /* scp.h: simulator control program headers\r |
2 | \r | |
3 | Copyright (c) 1993-2006, Robert M Supnik\r | |
4 | \r | |
5 | Permission is hereby granted, free of charge, to any person obtaining a\r | |
6 | copy of this software and associated documentation files (the "Software"),\r | |
7 | to deal in the Software without restriction, including without limitation\r | |
8 | the rights to use, copy, modify, merge, publish, distribute, sublicense,\r | |
9 | and/or sell copies of the Software, and to permit persons to whom the\r | |
10 | Software is furnished to do so, subject to the following conditions:\r | |
11 | \r | |
12 | The above copyright notice and this permission notice shall be included in\r | |
13 | all copies or substantial portions of the Software.\r | |
14 | \r | |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r | |
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r | |
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\r | |
18 | ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r | |
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r | |
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r | |
21 | \r | |
22 | Except as contained in this notice, the name of Robert M Supnik shall not\r | |
23 | be used in advertising or otherwise to promote the sale, use or other dealings\r | |
24 | in this Software without prior written authorization from Robert M Supnik.\r | |
25 | \r | |
26 | 09-Aug-06 JDB Added assign_device and deassign_device\r | |
27 | 14-Jul-06 RMS Added sim_activate_abs\r | |
28 | 06-Jan-06 RMS Added fprint_stopped_gen\r | |
29 | Changed arg type in sim_brk_test\r | |
30 | 07-Feb-05 RMS Added ASSERT command\r | |
31 | 09-Sep-04 RMS Added reset_all_p\r | |
32 | 14-Feb-04 RMS Added debug prototypes (from Dave Hittner)\r | |
33 | 02-Jan-04 RMS Split out from SCP\r | |
34 | */\r | |
35 | \r | |
36 | #ifndef _SIM_SCP_H_\r | |
37 | #define _SIM_SCP_H_ 0\r | |
38 | \r | |
39 | /* run_cmd parameters */\r | |
40 | \r | |
41 | #define RU_RUN 0 /* run */\r | |
42 | #define RU_GO 1 /* go */\r | |
43 | #define RU_STEP 2 /* step */\r | |
44 | #define RU_CONT 3 /* continue */\r | |
45 | #define RU_BOOT 4 /* boot */\r | |
46 | \r | |
47 | /* get_sim_opt parameters */\r | |
48 | \r | |
49 | #define CMD_OPT_SW 001 /* switches */\r | |
50 | #define CMD_OPT_OF 002 /* output file */\r | |
51 | #define CMD_OPT_SCH 004 /* search */\r | |
52 | #define CMD_OPT_DFT 010 /* defaults */\r | |
53 | \r | |
54 | /* Command processors */\r | |
55 | \r | |
56 | t_stat reset_cmd (int32 flag, char *ptr);\r | |
57 | t_stat exdep_cmd (int32 flag, char *ptr);\r | |
58 | t_stat eval_cmd (int32 flag, char *ptr);\r | |
59 | t_stat load_cmd (int32 flag, char *ptr);\r | |
60 | t_stat run_cmd (int32 flag, char *ptr);\r | |
61 | t_stat attach_cmd (int32 flag, char *ptr);\r | |
62 | t_stat detach_cmd (int32 flag, char *ptr);\r | |
63 | t_stat assign_cmd (int32 flag, char *ptr);\r | |
64 | t_stat deassign_cmd (int32 flag, char *ptr);\r | |
65 | t_stat save_cmd (int32 flag, char *ptr);\r | |
66 | t_stat restore_cmd (int32 flag, char *ptr);\r | |
67 | t_stat exit_cmd (int32 flag, char *ptr);\r | |
68 | t_stat set_cmd (int32 flag, char *ptr);\r | |
69 | t_stat show_cmd (int32 flag, char *ptr);\r | |
70 | t_stat brk_cmd (int32 flag, char *ptr);\r | |
71 | t_stat do_cmd (int32 flag, char *ptr);\r | |
72 | t_stat assert_cmd (int32 flag, char *ptr);\r | |
73 | t_stat help_cmd (int32 flag, char *ptr);\r | |
74 | t_stat spawn_cmd (int32 flag, char *ptr);\r | |
75 | t_stat echo_cmd (int32 flag, char *ptr);\r | |
76 | \r | |
77 | /* Utility routines */\r | |
78 | \r | |
79 | t_stat sim_process_event (void);\r | |
80 | t_stat sim_activate (UNIT *uptr, int32 interval);\r | |
81 | t_stat sim_activate_abs (UNIT *uptr, int32 interval);\r | |
82 | t_stat sim_cancel (UNIT *uptr);\r | |
83 | int32 sim_is_active (UNIT *uptr);\r | |
84 | double sim_gtime (void);\r | |
85 | uint32 sim_grtime (void);\r | |
86 | int32 sim_qcount (void);\r | |
87 | t_stat attach_unit (UNIT *uptr, char *cptr);\r | |
88 | t_stat detach_unit (UNIT *uptr);\r | |
89 | t_stat assign_device (DEVICE *dptr, char *cptr);\r | |
90 | t_stat deassign_device (DEVICE *dptr);\r | |
91 | t_stat reset_all (uint32 start_device);\r | |
92 | t_stat reset_all_p (uint32 start_device);\r | |
93 | char *sim_dname (DEVICE *dptr);\r | |
94 | t_stat get_yn (char *ques, t_stat deflt);\r | |
95 | char *get_sim_opt (int32 opt, char *cptr, t_stat *st);\r | |
96 | char *get_glyph (char *iptr, char *optr, char mchar);\r | |
97 | char *get_glyph_nc (char *iptr, char *optr, char mchar);\r | |
98 | t_value get_uint (char *cptr, uint32 radix, t_value max, t_stat *status);\r | |
99 | char *get_range (DEVICE *dptr, char *cptr, t_addr *lo, t_addr *hi,\r | |
100 | uint32 rdx, t_addr max, char term);\r | |
101 | t_stat get_ipaddr (char *cptr, uint32 *ipa, uint32 *ipp);\r | |
102 | t_value strtotv (char *cptr, char **endptr, uint32 radix);\r | |
103 | t_stat fprint_val (FILE *stream, t_value val, uint32 rdx, uint32 wid, uint32 fmt);\r | |
104 | CTAB *find_cmd (char *gbuf);\r | |
105 | DEVICE *find_dev (char *ptr);\r | |
106 | DEVICE *find_unit (char *ptr, UNIT **uptr);\r | |
107 | DEVICE *find_dev_from_unit (UNIT *uptr);\r | |
108 | REG *find_reg (char *ptr, char **optr, DEVICE *dptr);\r | |
109 | CTAB *find_ctab (CTAB *tab, char *gbuf);\r | |
110 | C1TAB *find_c1tab (C1TAB *tab, char *gbuf);\r | |
111 | SHTAB *find_shtab (SHTAB *tab, char *gbuf);\r | |
112 | BRKTAB *sim_brk_fnd (t_addr loc);\r | |
113 | uint32 sim_brk_test (t_addr bloc, uint32 btyp);\r | |
114 | void sim_brk_clrspc (uint32 spc);\r | |
115 | char *match_ext (char *fnam, char *ext);\r | |
116 | t_stat sim_cancel_step (void);\r | |
117 | void sim_debug_u16 (uint32 dbits, DEVICE* dptr, const char* const* bitdefs,\r | |
118 | uint16 before, uint16 after, int terminate);\r | |
119 | void sim_debug (uint32 dbits, DEVICE* dptr, const char* fmt, ...);\r | |
120 | void fprint_stopped_gen (FILE *st, t_stat v, REG *pc, DEVICE *dptr);\r | |
121 | \r | |
122 | #endif\r |