Initial LinuxCNC WebAssembly workspace snapshot

This commit is contained in:
2026-08-20 18:21:15 +08:00
commit 5dd614c335
92 changed files with 200203 additions and 0 deletions

View 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