]> git.proxmox.com Git - ceph.git/blob - ceph/src/civetweb/src/third_party/duktape-1.3.0/src-separate/duk_debugger.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / civetweb / src / third_party / duktape-1.3.0 / src-separate / duk_debugger.h
1 #ifndef DUK_DEBUGGER_H_INCLUDED
2 #define DUK_DEBUGGER_H_INCLUDED
3
4 /* Debugger protocol version is defined in the public API header. */
5
6 #define DUK_DBG_MARKER_EOM 0x00
7 #define DUK_DBG_MARKER_REQUEST 0x01
8 #define DUK_DBG_MARKER_REPLY 0x02
9 #define DUK_DBG_MARKER_ERROR 0x03
10 #define DUK_DBG_MARKER_NOTIFY 0x04
11
12 #define DUK_DBG_ERR_UNKNOWN 0x00
13 #define DUK_DBG_ERR_UNSUPPORTED 0x01
14 #define DUK_DBG_ERR_TOOMANY 0x02
15 #define DUK_DBG_ERR_NOTFOUND 0x03
16
17 /* Initiated by Duktape */
18 #define DUK_DBG_CMD_STATUS 0x01
19 #define DUK_DBG_CMD_PRINT 0x02
20 #define DUK_DBG_CMD_ALERT 0x03
21 #define DUK_DBG_CMD_LOG 0x04
22
23 /* Initiated by debug client */
24 #define DUK_DBG_CMD_BASICINFO 0x10
25 #define DUK_DBG_CMD_TRIGGERSTATUS 0x11
26 #define DUK_DBG_CMD_PAUSE 0x12
27 #define DUK_DBG_CMD_RESUME 0x13
28 #define DUK_DBG_CMD_STEPINTO 0x14
29 #define DUK_DBG_CMD_STEPOVER 0x15
30 #define DUK_DBG_CMD_STEPOUT 0x16
31 #define DUK_DBG_CMD_LISTBREAK 0x17
32 #define DUK_DBG_CMD_ADDBREAK 0x18
33 #define DUK_DBG_CMD_DELBREAK 0x19
34 #define DUK_DBG_CMD_GETVAR 0x1a
35 #define DUK_DBG_CMD_PUTVAR 0x1b
36 #define DUK_DBG_CMD_GETCALLSTACK 0x1c
37 #define DUK_DBG_CMD_GETLOCALS 0x1d
38 #define DUK_DBG_CMD_EVAL 0x1e
39 #define DUK_DBG_CMD_DETACH 0x1f
40 #define DUK_DBG_CMD_DUMPHEAP 0x20
41 #define DUK_DBG_CMD_GETBYTECODE 0x21
42
43 #if defined(DUK_USE_DEBUGGER_SUPPORT)
44 DUK_INTERNAL_DECL void duk_debug_do_detach(duk_heap *heap);
45
46 DUK_INTERNAL_DECL duk_bool_t duk_debug_read_peek(duk_hthread *thr);
47 DUK_INTERNAL_DECL void duk_debug_write_flush(duk_hthread *thr);
48
49 DUK_INTERNAL_DECL void duk_debug_skip_bytes(duk_hthread *thr, duk_size_t length);
50 DUK_INTERNAL_DECL void duk_debug_skip_byte(duk_hthread *thr);
51
52 DUK_INTERNAL_DECL void duk_debug_read_bytes(duk_hthread *thr, duk_uint8_t *data, duk_size_t length);
53 DUK_INTERNAL_DECL duk_uint8_t duk_debug_read_byte(duk_hthread *thr);
54 DUK_INTERNAL_DECL duk_int32_t duk_debug_read_int(duk_hthread *thr);
55 DUK_INTERNAL_DECL duk_hstring *duk_debug_read_hstring(duk_hthread *thr);
56 /* XXX: exposed duk_debug_read_pointer */
57 /* XXX: exposed duk_debug_read_buffer */
58 /* XXX: exposed duk_debug_read_hbuffer */
59 DUK_INTERNAL_DECL void duk_debug_read_tval(duk_hthread *thr);
60
61 DUK_INTERNAL_DECL void duk_debug_write_bytes(duk_hthread *thr, const duk_uint8_t *data, duk_size_t length);
62 DUK_INTERNAL_DECL void duk_debug_write_byte(duk_hthread *thr, duk_uint8_t x);
63 DUK_INTERNAL_DECL void duk_debug_write_unused(duk_hthread *thr);
64 DUK_INTERNAL_DECL void duk_debug_write_undefined(duk_hthread *thr);
65 DUK_INTERNAL_DECL void duk_debug_write_int(duk_hthread *thr, duk_int32_t x);
66 DUK_INTERNAL_DECL void duk_debug_write_uint(duk_hthread *thr, duk_uint32_t x);
67 DUK_INTERNAL_DECL void duk_debug_write_string(duk_hthread *thr, const char *data, duk_size_t length);
68 DUK_INTERNAL_DECL void duk_debug_write_cstring(duk_hthread *thr, const char *data);
69 DUK_INTERNAL_DECL void duk_debug_write_hstring(duk_hthread *thr, duk_hstring *h);
70 DUK_INTERNAL_DECL void duk_debug_write_buffer(duk_hthread *thr, const char *data, duk_size_t length);
71 DUK_INTERNAL_DECL void duk_debug_write_hbuffer(duk_hthread *thr, duk_hbuffer *h);
72 DUK_INTERNAL_DECL void duk_debug_write_pointer(duk_hthread *thr, const void *ptr);
73 #if defined(DUK_USE_DEBUGGER_DUMPHEAP)
74 DUK_INTERNAL_DECL void duk_debug_write_heapptr(duk_hthread *thr, duk_heaphdr *h);
75 #endif
76 DUK_INTERNAL_DECL void duk_debug_write_hobject(duk_hthread *thr, duk_hobject *obj);
77 DUK_INTERNAL_DECL void duk_debug_write_tval(duk_hthread *thr, duk_tval *tv);
78
79 #if 0 /* unused */
80 DUK_INTERNAL_DECL void duk_debug_write_request(duk_hthread *thr, duk_small_uint_t command);
81 #endif
82 DUK_INTERNAL_DECL void duk_debug_write_reply(duk_hthread *thr);
83 DUK_INTERNAL_DECL void duk_debug_write_error_eom(duk_hthread *thr, duk_small_uint_t err_code, const char *msg);
84 DUK_INTERNAL_DECL void duk_debug_write_notify(duk_hthread *thr, duk_small_uint_t command);
85 DUK_INTERNAL_DECL void duk_debug_write_eom(duk_hthread *thr);
86
87 DUK_INTERNAL duk_uint_fast32_t duk_debug_curr_line(duk_hthread *thr);
88 DUK_INTERNAL void duk_debug_send_status(duk_hthread *thr);
89
90 DUK_INTERNAL_DECL duk_bool_t duk_debug_process_messages(duk_hthread *thr, duk_bool_t no_block);
91
92 DUK_INTERNAL_DECL duk_small_int_t duk_debug_add_breakpoint(duk_hthread *thr, duk_hstring *filename, duk_uint32_t line);
93 DUK_INTERNAL_DECL duk_bool_t duk_debug_remove_breakpoint(duk_hthread *thr, duk_small_uint_t breakpoint_index);
94 #endif
95
96 #endif /* DUK_DEBUGGER_H_INCLUDED */