gdb-server/include/request.h

43 lines
970 B
C
Raw Normal View History

2024-10-07 04:55:44 +00:00
#ifndef RDBSERVER_REQUEST_H
#define RDBSERVER_REQUEST_H
2024-10-08 02:00:01 +00:00
#include <cmdbuf.h>
2024-10-07 04:55:44 +00:00
#include <stddef.h>
#define INBUF_LEN 256
typedef enum rdb_read_result_t {
read_result_success,
read_result_error,
read_result_pending,
2024-10-08 02:42:28 +00:00
read_result_disconnected
2024-10-07 04:55:44 +00:00
} rdb_read_result_t;
typedef enum rdb_read_state_t {
read_state_header,
read_state_body,
read_state_body_escape,
read_state_checksum_1,
2024-10-08 02:42:28 +00:00
read_state_checksum_2
2024-10-07 04:55:44 +00:00
} rdb_read_state_t;
typedef struct RdbRequest {
int connfd;
2024-10-08 01:20:01 +00:00
bool blocking;
2024-10-07 04:55:44 +00:00
struct Buffer {
char buf[INBUF_LEN];
size_t len;
size_t index;
} inbuf;
rdb_read_state_t state;
2024-10-08 02:00:01 +00:00
char *outbuf;
size_t outbuflen;
2024-10-07 04:55:44 +00:00
char chk;
} RdbRequest;
2024-10-10 22:38:40 +00:00
void rdbRequestInit(RdbRequest *req, int connfd, char *buf, size_t buflen);
void rdbRequestReset(RdbRequest *req);
void rdbRequestSetBlocking(RdbRequest *req, bool blocking);
rdb_read_result_t rdbRequestRead(RdbRequest *req, CommandBuf *cmd);
2024-10-07 04:55:44 +00:00
#endif