Skip to content

Commit

Permalink
feat: export macros (#11)
Browse files Browse the repository at this point in the history
* feat: export macros

* fix: include parameter list in EXTISM_EXPORTED_FUNCTION as they don't take parameters
  • Loading branch information
G4Vi committed Nov 29, 2023
1 parent c28e1e1 commit 5acb74f
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion extism-pdk.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ typedef uint64_t ExtismPointer;
#define EXTISM_ENV_MODULE "extism:host/env"
#define EXTISM_USER_MODULE "extism:host/user"

#define EXTISM_EXPORT_AS(name) __attribute__((export_name(name)))
#define EXTISM_EXPORTED_FUNCTION(name) \
EXTISM_EXPORT_AS(#name) \
name(void)

#define IMPORT(a, b) __attribute__((import_module(a), import_name(b)))
#define IMPORT_ENV(b) \
__attribute__((import_module(EXTISM_ENV_MODULE), import_name(b)))
Expand All @@ -19,7 +24,8 @@ IMPORT_ENV("length")
extern uint64_t extism_length(ExtismPointer);
IMPORT_ENV("alloc")
extern ExtismPointer extism_alloc(uint64_t);
IMPORT_ENV("free") extern void extism_free(ExtismPointer);
IMPORT_ENV("free")
extern void extism_free(ExtismPointer);

IMPORT_ENV("input_load_u8")
extern uint8_t extism_input_load_u8(ExtismPointer);
Expand Down

0 comments on commit 5acb74f

Please sign in to comment.