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
#include <stddef.h>
#define INBUF_LEN 256
typedef enum rdb_read_result_t {
read_result_success,
read_result_error,
read_result_pending,
read_result_disconnected,
} rdb_read_result_t;
typedef enum rdb_read_state_t {
read_state_header,
read_state_body,
read_state_body_escape,
read_state_checksum_1,
read_state_checksum_2,
} 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;
char *cmd;
size_t cmdlen;
size_t outlen;
char chk;
} RdbRequest;
void rdb_request_init(RdbRequest *req, int connfd, char *cmd, size_t cmdlen);
void rdb_request_reset(RdbRequest *req);
2024-10-08 01:20:01 +00:00
void rdb_request_set_blocking(RdbRequest *req, bool blocking);
2024-10-07 04:55:44 +00:00
rdb_read_result_t rdb_request_read(RdbRequest *req, size_t *len);
#endif