diff options
Diffstat (limited to 'reverse-engineering/dosbox_snif/rsp.h')
-rw-r--r-- | reverse-engineering/dosbox_snif/rsp.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/reverse-engineering/dosbox_snif/rsp.h b/reverse-engineering/dosbox_snif/rsp.h new file mode 100644 index 0000000..c8f1378 --- /dev/null +++ b/reverse-engineering/dosbox_snif/rsp.h @@ -0,0 +1,27 @@ +#ifndef _RSP_H +#define _RSP_H + +#define LOG_DEBUG(...) +//#include <stdio.h> +//#define LOG_DEBUG(...) printf(__VA_ARGS__) + +struct rsp_state { + int sockfd; + int data_maxlen; + int noackmode; + int replied; + int command_len, response_len; + char *command, *response, *decoded; /* Malloc'ed */ + char *response_bom, *response_eom; /* Just pointers on *response string */ +}; + +int rsp_init(int sockfd, int data_maxlen, struct rsp_state *rsp); +void rsp_quit(struct rsp_state *rsp); +void rsp_send_break(struct rsp_state *rsp); +void rsp_query(struct rsp_state *rsp, char command[]); +int rsp_check_and_clear(struct rsp_state *rsp, char expected_response[]); +int rsp_recv_full(struct rsp_state *rsp); +int rsp_decode(struct rsp_state *rsp); +int rsp_poke(struct rsp_state *rsp, unsigned int poke_addr, unsigned int poke_value); + +#endif /*_RSP_H*/ |