3 * Copyright 2016 Microsoft
4 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
6 #ifndef __MONO_METADATA_MARSHAL_INTERNALS_H__
7 #define __MONO_METADATA_MARSHAL_INTERNALS_H__
11 #include <mono/metadata/object-internals.h>
14 mono_marshal_xdomain_copy_value_handle (MonoObjectHandle val
, MonoError
*error
);
16 // On Windows platform implementation of bellow methods are hosted in separate source file
17 // marshal-windows.c or marshal-windows-*.c. On other platforms the implementation is still keept
18 // in marshal.c still declared as static and in some places even inlined.
21 mono_marshal_alloc_co_task_mem (size_t size
);
24 mono_marshal_free_co_task_mem (void *ptr
);
27 mono_marshal_realloc_co_task_mem (gpointer ptr
, size_t size
);
30 mono_marshal_alloc_hglobal (size_t size
, MonoError
*error
);
33 mono_marshal_realloc_hglobal (gpointer ptr
, size_t size
);
36 mono_marshal_free_hglobal (void *ptr
);
41 TYPECHECK_OBJECT_ARG_POS
= 0,
42 TYPECHECK_CLASS_ARG_POS
= 1,
43 TYPECHECK_CACHE_ARG_POS
= 2
44 } MarshalTypeCheckPositions
;
46 #endif /* __MONO_METADATA_MARSHAL_INTERNALS_H__ */