Revert some changes which don't have proper dependencies.
[mono-project.git] / mono / metadata / marshal-internals.h
blobc4bc8fc50eee70c2de3bc554161fe9a2603a4693
1 /**
2 * \file
3 * Copyright 2016 Microsoft
4 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
5 */
6 #ifndef __MONO_METADATA_MARSHAL_INTERNALS_H__
7 #define __MONO_METADATA_MARSHAL_INTERNALS_H__
9 #include <config.h>
10 #include <glib.h>
11 #include <mono/metadata/object-internals.h>
13 MonoObjectHandle
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.
19 #ifdef HOST_WIN32
20 void*
21 mono_marshal_alloc_co_task_mem (size_t size);
23 void
24 mono_marshal_free_co_task_mem (void *ptr);
26 gpointer
27 mono_marshal_realloc_co_task_mem (gpointer ptr, size_t size);
29 void*
30 mono_marshal_alloc_hglobal (size_t size, MonoError *error);
32 gpointer
33 mono_marshal_realloc_hglobal (gpointer ptr, size_t size);
35 void
36 mono_marshal_free_hglobal (void *ptr);
38 #endif // HOST_WIN32
40 typedef enum {
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__ */