Merge pull request #3997 from lateralusX/jlorenss/win-api-family-support-safearray
[mono.git] / mono / metadata / appdomain-icalls.h
1 /*
2  * Appdomain-related icalls.
3  * Copyright 2016 Microsoft
4  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
5  */
6
7 #ifndef __MONO_METADATA_APPDOMAIN_ICALLS_H__
8 #define __MONO_METADATA_APPDOMAIN_ICALLS_H__
9
10 #include <mono/metadata/appdomain.h>
11 #include <mono/metadata/handle.h>
12 #include <mono/metadata/object-internals.h>
13
14 MonoAppDomain *
15 ves_icall_System_AppDomain_getCurDomain            (void);
16
17 MonoAppDomain *
18 ves_icall_System_AppDomain_getRootDomain           (void);
19
20 MonoAppDomain *
21 ves_icall_System_AppDomain_createDomain            (MonoString         *friendly_name,
22                                                     MonoAppDomainSetup *setup);
23
24 MonoObject *
25 ves_icall_System_AppDomain_GetData                 (MonoAppDomain *ad, 
26                                                     MonoString    *name);
27
28 MonoReflectionAssemblyHandle
29 ves_icall_System_AppDomain_LoadAssemblyRaw         (MonoAppDomainHandle ad,
30                                                     MonoArrayHandle raw_assembly,
31                                                     MonoArrayHandle raw_symbol_store,
32                                                     MonoObjectHandle evidence,
33                                                     MonoBoolean refonly,
34                                                     MonoError *error);
35
36 void
37 ves_icall_System_AppDomain_SetData                 (MonoAppDomain *ad, 
38                                                     MonoString    *name, 
39                                                     MonoObject    *data);
40
41 MonoAppDomainSetup *
42 ves_icall_System_AppDomain_getSetup                (MonoAppDomain *ad);
43
44 MonoString *
45 ves_icall_System_AppDomain_getFriendlyName         (MonoAppDomain *ad);
46
47 MonoArrayHandle
48 ves_icall_System_AppDomain_GetAssemblies           (MonoAppDomainHandle ad,
49                                                     MonoBoolean refonly,
50                                                     MonoError *error);
51
52 MonoReflectionAssemblyHandle
53 ves_icall_System_Reflection_Assembly_LoadFrom      (MonoStringHandle fname,
54                                                     MonoBoolean refonly,
55                                                     MonoError *error);
56
57 MonoReflectionAssemblyHandle
58 ves_icall_System_AppDomain_LoadAssembly            (MonoAppDomainHandle ad, 
59                                                     MonoStringHandle assRef,
60                                                     MonoObjectHandle evidence,
61                                                     MonoBoolean refonly,
62                                                     MonoError *error);
63
64 gboolean
65 ves_icall_System_AppDomain_InternalIsFinalizingForUnload (gint32 domain_id);
66
67 void
68 ves_icall_System_AppDomain_InternalUnload          (gint32 domain_id);
69
70 void
71 ves_icall_System_AppDomain_DoUnhandledException (MonoException *exc);
72
73 gint32
74 ves_icall_System_AppDomain_ExecuteAssembly         (MonoAppDomain *ad, 
75                                                     MonoReflectionAssembly *refass,
76                                                     MonoArray     *args);
77
78 MonoAppDomain * 
79 ves_icall_System_AppDomain_InternalSetDomain       (MonoAppDomain *ad);
80
81 MonoAppDomain * 
82 ves_icall_System_AppDomain_InternalSetDomainByID   (gint32 domainid);
83
84 void
85 ves_icall_System_AppDomain_InternalPushDomainRef (MonoAppDomain *ad);
86
87 void
88 ves_icall_System_AppDomain_InternalPushDomainRefByID (gint32 domain_id);
89
90 void
91 ves_icall_System_AppDomain_InternalPopDomainRef (void);
92
93 MonoAppContext * 
94 ves_icall_System_AppDomain_InternalGetContext      (void);
95
96 MonoAppContext * 
97 ves_icall_System_AppDomain_InternalGetDefaultContext      (void);
98
99 MonoAppContext * 
100 ves_icall_System_AppDomain_InternalSetContext      (MonoAppContext *mc);
101
102 gint32 
103 ves_icall_System_AppDomain_GetIDFromDomain (MonoAppDomain * ad);
104
105 MonoString *
106 ves_icall_System_AppDomain_InternalGetProcessGuid (MonoString* newguid);
107
108 MonoBoolean
109 ves_icall_System_CLRConfig_CheckThrowUnobservedTaskExceptions (void);
110
111
112 #endif /*__MONO_METADATA_APPDOMAIN_ICALLS_H__*/