forked from Hay1tsme/segatools
board/sg-cmd.c: Add "sg" req/resp packets
This commit is contained in:
43
board/sg-cmd.h
Normal file
43
board/sg-cmd.h
Normal file
@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "hook/iobuf.h"
|
||||
|
||||
struct sg_header {
|
||||
uint8_t frame_len;
|
||||
uint8_t addr;
|
||||
uint8_t seq_no;
|
||||
uint8_t cmd;
|
||||
};
|
||||
|
||||
struct sg_req_header {
|
||||
struct sg_header hdr;
|
||||
uint8_t payload_len;
|
||||
};
|
||||
|
||||
struct sg_resp_header {
|
||||
struct sg_header hdr;
|
||||
uint8_t status;
|
||||
uint8_t payload_len;
|
||||
};
|
||||
|
||||
typedef HRESULT (*sg_dispatch_fn_t)(
|
||||
void *ctx,
|
||||
const void *req,
|
||||
void *resp);
|
||||
|
||||
void sg_req_transact(
|
||||
struct iobuf *resp_frame,
|
||||
const uint8_t *req_bytes,
|
||||
size_t req_nbytes,
|
||||
sg_dispatch_fn_t dispatch,
|
||||
void *ctx);
|
||||
|
||||
void sg_resp_init(
|
||||
struct sg_resp_header *resp,
|
||||
const struct sg_req_header *req,
|
||||
size_t payload_len);
|
Reference in New Issue
Block a user