/* Web64 SDK header printout: web64/loader.h * Generated by scripts/copy-web64-ide-source.mjs. * The IDE resolves this header as a read-only virtual SDK document. */ #ifndef WEB64_LOADER_H #define WEB64_LOADER_H #include #define WEB64_LOADER_OK 0 #define WEB64_LOADER_NOT_FOUND 1 #define WEB64_LOADER_TRANSPORT 2 #define WEB64_LOADER_UNAVAILABLE 3 #define WEB64_LOADER_HEADER 4 #define WEB64_LOADER_INTEGRITY 5 #define WEB64_LOADER_PACKED_SIZE 6 #define WEB64_LOADER_UNPACKED_SIZE 7 #define WEB64_LOADER_RANGE 8 #define WEB64_LOADER_WORKSPACE 9 #define WEB64_LOADER_DECOMPRESSION 10 #define WEB64_LOADER_ABORTED 11 #define WEB64_LOADER_NOT_INITIALIZED 12 #define WEB64_LOADER_INVALID_ARGUMENT 13 #define WEB64_LOADER_UNSUPPORTED_DRIVE 14 #define WEB64_LOADER_BUSY 15 #define WEB64_LOADER_ALL_BLOCKS 255 typedef struct { const uint8_t *stage; uint16_t length; uint8_t *destination; uint16_t capacity; uint8_t *workspace; uint16_t workspace_capacity; uint8_t block; } web64_loader_packed_request; typedef struct { const char *name; uint8_t name_length; uint8_t *stage; uint16_t stage_capacity; uint8_t *destination; uint16_t capacity; uint8_t *workspace; uint16_t workspace_capacity; uint8_t block; } web64_loader_request; _web64_rt uint8_t web64_loader_load_raw(const web64_loader_request *request); _web64_rt uint8_t web64_loader_load_packed(const web64_loader_request *request); _web64_rt uint8_t web64_loader_unpack(const web64_loader_packed_request *request); _web64_rt uint8_t web64_loader_init(uint8_t device, uint8_t *sector, volatile uint16_t *ticks); _web64_rt uint8_t web64_loader_read(const char *name, uint8_t length, uint8_t *stage, uint16_t capacity); uint8_t web64_loader_status(void); void web64_loader_abort(void); uint8_t web64_loader_shutdown(void); uint8_t web64_loader_reinitialize_after_save(void); uint16_t web64_loader_last_size(void); uint16_t web64_loader_last_origin(void); #endif