mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
258 lines
6.7 KiB
Beef
258 lines
6.7 KiB
Beef
using System;
|
|
|
|
namespace Mono;
|
|
|
|
static class Mono
|
|
{
|
|
typealias mono_bool = System.Windows.IntBool;
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_set_assemblies_path(char8* path);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoDomain* mono_jit_init(char8* file);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_jit_cleanup(MonoDomain* domain);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoDomain* mono_domain_create_appdomain(char8* friendly_name, char8* configuration_file);
|
|
|
|
[LinkName(.C)]
|
|
public static extern mono_bool mono_domain_set(MonoDomain* domain, mono_bool force);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoImage* mono_image_open_from_data_full(uint8* data, uint32 data_len,
|
|
mono_bool need_copy, MonoImageOpenStatus* status, mono_bool refonly);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoImage* mono_assembly_get_image(MonoAssembly* assembly);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_assembly_close(MonoAssembly* assembly);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_image_close(MonoImage* image);
|
|
|
|
[LinkName(.C)]
|
|
public static extern char8* mono_image_strerror(MonoImageOpenStatus status);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoAssembly* mono_assembly_load_from_full(MonoImage* image, char8* fileName,
|
|
MonoImageOpenStatus* status, mono_bool refonly);
|
|
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoTableInfo* mono_image_get_table_info(MonoImage* image, MonoMetaTableEnum table_id);
|
|
|
|
[LinkName(.C)]
|
|
public static extern int32 mono_image_get_table_rows(MonoImage *image, MonoMetaTableEnum table_id);
|
|
|
|
[LinkName(.C)]
|
|
public static extern int32 mono_table_info_get_rows(MonoTableInfo* table);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_metadata_decode_row (MonoTableInfo* t,
|
|
int32 idx,
|
|
uint32* res,
|
|
int32 res_size);
|
|
|
|
[LinkName(.C)]
|
|
public static extern char8* mono_metadata_string_heap(MonoImage* meta, uint32 table_index);
|
|
[LinkName(.C)]
|
|
public static extern uint8* mono_metadata_blob_heap(MonoImage* meta, uint32 index);
|
|
[LinkName(.C)]
|
|
public static extern uint32 mono_metadata_decode_blob_size(uint8* xptr, out uint8* newPosition);
|
|
|
|
typealias gconstpointer = void*;
|
|
typealias gpointer = void*;
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_add_internal_call(char8* name, gconstpointer method);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoString* mono_string_new(MonoDomain* domain, char8* text);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoDomain* mono_domain_get();
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoClass* mono_class_from_name(MonoImage* image, char8* name_space,
|
|
char8* name);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoClass* mono_class_load_from_name(MonoImage* image, char8* name_space,
|
|
char8* name);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoObject* mono_object_new(MonoDomain* domain, MonoClass* klass);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_runtime_object_init(MonoObject* this_obj);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoMethod* mono_class_get_method_from_name(MonoClass* klass, char8* name, int param_count);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoObject* mono_runtime_invoke(MonoMethod* method, void* obj, void** param, MonoObject** exc);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void* mono_object_unbox(MonoObject* obj);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void* mono_domain_unload(MonoDomain* domain);
|
|
|
|
|
|
[LinkName(.C)]
|
|
public static extern gpointer mono_method_get_unmanaged_thunk(MonoMethod *method);
|
|
|
|
[LinkName(.C)]
|
|
public static extern mono_bool mono_class_is_subclass_of(MonoClass *monoClass, MonoClass *parentClass,
|
|
mono_bool check_interfaces);
|
|
|
|
[LinkName(.C)]
|
|
public static extern uint32 mono_gchandle_new(MonoObject* obj, mono_bool pinned);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_gchandle_free(uint32 gchandle);
|
|
|
|
[LinkName(.C)]
|
|
public static extern char8* mono_string_to_utf8(MonoString *s);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_free(void* ptr);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoClassField* mono_class_get_field_from_name(MonoClass* monoClass, char8* name);
|
|
|
|
[LinkName(.C)]
|
|
public static extern void mono_field_set_value(MonoObject* obj, MonoClassField* field, void* value);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoType* mono_reflection_type_from_name(char8* name, MonoImage* image);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoType* mono_reflection_type_get_type(MonoReflectionType* reflectionType);
|
|
|
|
[LinkName(.C)]
|
|
public static extern MonoClassField* mono_class_get_fields(MonoClass* klass, gpointer* iter);
|
|
|
|
[LinkName(.C)]
|
|
public static extern char8* mono_field_get_name(MonoClassField* field);
|
|
}
|
|
|
|
struct MonoDomain;
|
|
|
|
struct MonoAssembly;
|
|
|
|
struct MonoImage;
|
|
|
|
struct MonoTableInfo;
|
|
|
|
struct MonoString;
|
|
|
|
struct MonoClass;
|
|
|
|
struct MonoObject;
|
|
|
|
struct MonoMethod;
|
|
|
|
struct MonoException;
|
|
|
|
struct MonoClassField;
|
|
|
|
struct MonoType;
|
|
|
|
struct MonoReflectionType;
|
|
|
|
enum MonoImageOpenStatus
|
|
{
|
|
Ok,
|
|
Error_Errno,
|
|
MissingAssemblyRef,
|
|
ImageInvalid
|
|
}
|
|
|
|
enum SOME_RANDOM_ENUM{
|
|
MONO_TYPEDEF_FLAGS,
|
|
MONO_TYPEDEF_NAME,
|
|
MONO_TYPEDEF_NAMESPACE,
|
|
MONO_TYPEDEF_EXTENDS,
|
|
MONO_TYPEDEF_FIELD_LIST,
|
|
MONO_TYPEDEF_METHOD_LIST,
|
|
MONO_TYPEDEF_SIZE
|
|
}
|
|
|
|
enum FIELD_TABLE_FLAGS : uint32
|
|
{
|
|
MONO_FIELD_FLAGS,
|
|
MONO_FIELD_NAME,
|
|
MONO_FIELD_SIGNATURE,
|
|
MONO_FIELD_SIZE
|
|
}
|
|
|
|
enum MonoMetaTableEnum : int32
|
|
{
|
|
MONO_TABLE_MODULE,
|
|
MONO_TABLE_TYPEREF,
|
|
MONO_TABLE_TYPEDEF,
|
|
MONO_TABLE_FIELD_POINTER,
|
|
MONO_TABLE_FIELD,
|
|
MONO_TABLE_METHOD_POINTER,
|
|
MONO_TABLE_METHOD,
|
|
MONO_TABLE_PARAM_POINTER,
|
|
MONO_TABLE_PARAM,
|
|
MONO_TABLE_INTERFACEIMPL,
|
|
MONO_TABLE_MEMBERREF, /* 0xa */
|
|
MONO_TABLE_CONSTANT,
|
|
MONO_TABLE_CUSTOMATTRIBUTE,
|
|
MONO_TABLE_FIELDMARSHAL,
|
|
MONO_TABLE_DECLSECURITY,
|
|
MONO_TABLE_CLASSLAYOUT,
|
|
MONO_TABLE_FIELDLAYOUT, /* 0x10 */
|
|
MONO_TABLE_STANDALONESIG,
|
|
MONO_TABLE_EVENTMAP,
|
|
MONO_TABLE_EVENT_POINTER,
|
|
MONO_TABLE_EVENT,
|
|
MONO_TABLE_PROPERTYMAP,
|
|
MONO_TABLE_PROPERTY_POINTER,
|
|
MONO_TABLE_PROPERTY,
|
|
MONO_TABLE_METHODSEMANTICS,
|
|
MONO_TABLE_METHODIMPL,
|
|
MONO_TABLE_MODULEREF, /* 0x1a */
|
|
MONO_TABLE_TYPESPEC,
|
|
MONO_TABLE_IMPLMAP,
|
|
MONO_TABLE_FIELDRVA,
|
|
MONO_TABLE_ENCLOG,
|
|
MONO_TABLE_ENCMAP,
|
|
MONO_TABLE_ASSEMBLY, /* 0x20 */
|
|
MONO_TABLE_ASSEMBLYPROCESSOR,
|
|
MONO_TABLE_ASSEMBLYOS,
|
|
MONO_TABLE_ASSEMBLYREF,
|
|
MONO_TABLE_ASSEMBLYREFPROCESSOR,
|
|
MONO_TABLE_ASSEMBLYREFOS,
|
|
MONO_TABLE_FILE,
|
|
MONO_TABLE_EXPORTEDTYPE,
|
|
MONO_TABLE_MANIFESTRESOURCE,
|
|
MONO_TABLE_NESTEDCLASS,
|
|
MONO_TABLE_GENERICPARAM, /* 0x2a */
|
|
MONO_TABLE_METHODSPEC,
|
|
MONO_TABLE_GENERICPARAMCONSTRAINT,
|
|
MONO_TABLE_UNUSED8,
|
|
MONO_TABLE_UNUSED9,
|
|
MONO_TABLE_UNUSED10,
|
|
/* Portable PDB tables */
|
|
MONO_TABLE_DOCUMENT, /* 0x30 */
|
|
MONO_TABLE_METHODBODY,
|
|
MONO_TABLE_LOCALSCOPE,
|
|
MONO_TABLE_LOCALVARIABLE,
|
|
MONO_TABLE_LOCALCONSTANT,
|
|
MONO_TABLE_IMPORTSCOPE,
|
|
MONO_TABLE_STATEMACHINEMETHOD,
|
|
MONO_TABLE_CUSTOMDEBUGINFORMATION
|
|
|
|
//#define MONO_TABLE_LAST MONO_TABLE_CUSTOMDEBUGINFORMATION
|
|
//#define MONO_TABLE_NUM (MONO_TABLE_LAST + 1)
|
|
|
|
}
|