1 module bindbc.hostfxr.functions;
2 import bindbc.hostfxr.types;
3 
4 __gshared
5 {
6     hostfxr_initialize_for_dotnet_command_line_fn hostfxr_initialize_for_dotnet_command_line;
7     hostfxr_initialize_for_runtime_config_fn hostfxr_initialize_for_runtime_config;
8     hostfxr_get_runtime_property_value_fn hostfxr_get_runtime_property_value;
9     hostfxr_set_runtime_property_value_fn hostfxr_set_runtime_property_value;
10     hostfxr_get_runtime_properties_fn  hostfxr_get_runtime_properties;
11     hostfxr_run_app_fn hostfxr_run_app;
12     hostfxr_get_runtime_delegate_fn hostfxr_get_runtime_delegate;
13     hostfxr_close_fn hostfxr_close;
14     hostfxr_get_dotnet_environment_info_fn hostfxr_get_dotnet_environment_info;
15 }
16 
17 extern(C) @nogc nothrow:
18 
19 alias hostfxr_initialize_for_dotnet_command_line_fn = int function(
20     int argc, char_t** argv, hostfxr_initialize_parameters* parameters,
21     hostfxr_handle* host_context_handle);
22 
23 alias hostfxr_initialize_for_runtime_config_fn = int function(
24     char_t* runtime_config_path,
25     hostfxr_initialize_parameters* parameters,
26     hostfxr_handle* host_context_handle);
27 
28 alias hostfxr_get_runtime_property_value_fn = int function(
29     hostfxr_handle host_context_handle,
30     char_t* name,
31     /*out*/ char_t** value);
32 
33 alias hostfxr_set_runtime_property_value_fn = int function(
34     hostfxr_handle host_context_handle,
35     char_t* name,
36     char_t* value);
37 
38 alias hostfxr_get_runtime_properties_fn = int function(
39     hostfxr_handle host_context_handle,
40     /*inout*/ size_t* count,
41     /*out*/ char_t** keys,
42     /*out*/ char_t** values);
43 
44 alias hostfxr_run_app_fn = int function(hostfxr_handle host_context_handle);
45 
46 alias hostfxr_get_runtime_delegate_fn = int function(
47     hostfxr_handle host_context_handle,
48     hostfxr_delegate_type type,
49     /*out*/ void** deleg);
50 
51 alias hostfxr_close_fn = int function(hostfxr_handle host_context_handle);
52 
53 alias hostfxr_get_dotnet_environment_info_result_fn = void function(
54     hostfxr_dotnet_environment_info* info,
55     void* result_context);
56 
57 alias hostfxr_get_dotnet_environment_info_fn = int function(
58     char_t* dotnet_root,
59     void* reserved,
60     hostfxr_get_dotnet_environment_info_result_fn result,
61     void* result_context);
62