Initial LinuxCNC WebAssembly workspace snapshot
This commit is contained in:
42
wasm-core/include/sim_event.h
Normal file
42
wasm-core/include/sim_event.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef LINUXCNC_WEB_WASM_SIM_EVENT_H
|
||||
#define LINUXCNC_WEB_WASM_SIM_EVENT_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define SIM_EVENT_KIND_CAPACITY 32U
|
||||
#define SIM_EVENT_CAPACITY 256U
|
||||
|
||||
enum sim_event_result {
|
||||
SIM_EVENT_OK = 0,
|
||||
SIM_EVENT_ERR_SEQUENCE = -200,
|
||||
SIM_EVENT_ERR_TICK = -201,
|
||||
SIM_EVENT_ERR_ARGUMENT = -202,
|
||||
SIM_EVENT_ERR_FULL = -203,
|
||||
SIM_EVENT_ERR_BUFFER = -204,
|
||||
};
|
||||
|
||||
typedef struct sim_event_record {
|
||||
uint32_t seq;
|
||||
uint32_t tick;
|
||||
uint64_t payload_hash;
|
||||
char kind[SIM_EVENT_KIND_CAPACITY];
|
||||
} sim_event_record;
|
||||
|
||||
void sim_event_reset(void);
|
||||
int32_t sim_event_append(uint32_t seq, uint32_t tick, const char *kind,
|
||||
const uint8_t *payload, uint32_t payload_len);
|
||||
uint32_t sim_event_count(void);
|
||||
uint32_t sim_event_cursor(void);
|
||||
uint32_t sim_event_read(uint32_t index, uint8_t *out, uint32_t capacity);
|
||||
uint32_t sim_event_export(uint8_t *out, uint32_t capacity);
|
||||
int32_t sim_event_import(const uint8_t *data, uint32_t len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user