forked from ground/cground
I forgot to upload the header lmao
This commit is contained in:
37
include/groundext.h
Normal file
37
include/groundext.h
Normal file
@@ -0,0 +1,37 @@
|
||||
#ifndef GROUND_EXT_H
|
||||
#define GROUND_EXT_H
|
||||
|
||||
#include "groundvm.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Forward declaration of the scope structure used in interpreter
|
||||
struct GroundScope;
|
||||
typedef struct GroundScope GroundScope;
|
||||
|
||||
/*
|
||||
* Function pointer type for native functions.
|
||||
* scope: The current execution scope (opaque).
|
||||
* args: A List of arguments passed to the function.
|
||||
*/
|
||||
typedef GroundValue (*NativeGroundFunction)(GroundScope* scope, List args);
|
||||
|
||||
/*
|
||||
* Registers a native function in the given scope.
|
||||
*
|
||||
* scope: The scope to register the function in.
|
||||
* name: The name of the function in Ground.
|
||||
* fn: The C function to call.
|
||||
* returnType: The return type of the function.
|
||||
* argCount: The number of arguments the function expects.
|
||||
* ...: A sequence of (GroundValueType type, char* name) for each argument.
|
||||
*/
|
||||
void groundAddNativeFunction(GroundScope* scope, char* name, NativeGroundFunction fn, GroundValueType returnType, int argCount, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user