#include <mono/metadata/object.h>
#include <mono/metadata/reflection.h>
+#include <mono/metadata/mempool.h>
#include <mono/io-layer/io-layer.h>
#if 1
MonoObject *async_state;
MonoObject *handle;
MonoObject *async_delegate;
- gpointer data;
+ gpointer *data;
+ MonoObject *object_data;
MonoBoolean sync_completed;
MonoBoolean completed;
MonoBoolean endinvoke_called;
MonoObject obj;
int lock_thread_id; /* to be used as the pre-shifted thread id in thin locks */
HANDLE handle;
- MonoObject **culture_info;
- MonoObject **ui_culture_info;
+ MonoArray *cached_culture_info;
+ gpointer unused1;
MonoBoolean threadpool_thread;
gunichar2 *name;
guint32 name_len;
* These fields are used to avoid having to increment corlib versions
* when a new field is added to the unmanaged MonoThread structure.
*/
- gpointer unused1;
- gpointer unused2;
+ MonoBoolean thread_dump_requested;
+ gpointer end_stack; /* This is only used when running in the debugger. */
gpointer unused3;
gpointer unused4;
gpointer unused5;
gint32 lcid;
} MonoSortKey;
+typedef struct {
+ MonoObject object;
+ guint16 intType;
+} MonoInterfaceTypeAttribute;
+
/* used to free a dynamic method */
typedef void (*MonoFreeMethodFunc) (MonoDomain *domain, MonoMethod *method);
MonoAsyncResult *
mono_async_result_new (MonoDomain *domain, HANDLE handle,
- MonoObject *state, gpointer data);
+ MonoObject *state, gpointer data, MonoObject *object_data);
MonoWaitHandle *
mono_wait_handle_new (MonoDomain *domain, HANDLE handle);
MonoObject *denied; /* PermissionSet - for the resolved assembly denied permissions */
/* */
MonoBoolean from_byte_array;
+ MonoString *name;
};
typedef struct {
MonoString *filename;
guint32 attrs;
guint32 offset;
+ MonoObject *stream;
} MonoReflectionResource;
typedef struct {
gint32 pe_kind;
gint32 machine;
MonoBoolean corlib_internal;
+ MonoArray *type_forwarders;
} MonoReflectionAssemblyBuilder;
typedef struct {
void
mono_release_type_locks (MonoThread *thread);
+char *
+mono_string_to_utf8_mp (MonoMemPool *mp, MonoString *s);
+
MonoArray*
mono_array_clone_in_domain (MonoDomain *domain, MonoArray *array);
gpointer
mono_get_addr_from_ftnptr (gpointer descr);
+void
+mono_nullable_init (guint8 *buf, MonoObject *value, MonoClass *klass);
+
+MonoObject*
+mono_nullable_box (guint8 *buf, MonoClass *klass);
+
#endif /* __MONO_OBJECT_INTERNALS_H__ */