@@ -7,7 +7,7 @@ use crate::shared::windows::get_proc_address;
77use crate :: { PASCAL_EXPORTS , PASCAL_TYPES } ; // bring in the constants
88
99#[ no_mangle]
10- pub extern "C " fn GetFunctionInfo (
10+ pub extern "system " fn GetFunctionInfo (
1111 index : c_int ,
1212 address : * mut * mut c_void ,
1313 definition : * mut * mut c_char ,
@@ -27,12 +27,12 @@ pub extern "C" fn GetFunctionInfo(
2727}
2828
2929#[ no_mangle]
30- pub extern "C " fn GetFunctionCount ( ) -> c_int {
30+ pub extern "system " fn GetFunctionCount ( ) -> c_int {
3131 PASCAL_EXPORTS . len ( ) as c_int
3232}
3333
3434#[ no_mangle]
35- pub extern "C " fn GetTypeInfo (
35+ pub extern "system " fn GetTypeInfo (
3636 index : c_int ,
3737 typ : * mut * mut c_char ,
3838 definition : * mut * mut c_char ,
@@ -53,7 +53,7 @@ pub extern "C" fn GetTypeInfo(
5353}
5454
5555#[ no_mangle]
56- pub extern "C " fn GetTypeCount ( ) -> c_int {
56+ pub extern "system " fn GetTypeCount ( ) -> c_int {
5757 PASCAL_TYPES . len ( ) as c_int
5858}
5959
@@ -68,45 +68,50 @@ pub struct TSimbaInfomation {
6868
6969#[ repr( C , packed) ]
7070pub struct TSimbaMethods {
71- pub run_on_main_thread :
72- Option < unsafe extern "C" fn ( method : extern "C" fn ( * mut c_void ) , data : * mut c_void ) > ,
73- pub get_mem : Option < unsafe extern "C" fn ( size : usize ) -> * mut c_void > ,
74- pub free_mem : Option < unsafe extern "C" fn ( ptr : * mut c_void ) > ,
75- pub alloc_mem : Option < unsafe extern "C" fn ( size : usize ) -> * mut c_void > ,
71+ pub run_on_main_thread : Option <
72+ unsafe extern "system" fn ( method : extern "system" fn ( * mut c_void ) , data : * mut c_void ) ,
73+ > ,
74+ pub get_mem : Option < unsafe extern "system" fn ( size : usize ) -> * mut c_void > ,
75+ pub free_mem : Option < unsafe extern "system" fn ( ptr : * mut c_void ) > ,
76+ pub alloc_mem : Option < unsafe extern "system" fn ( size : usize ) -> * mut c_void > ,
7677 pub realloc_mem :
77- Option < unsafe extern "C " fn ( ptr : * mut * mut c_void , size : usize ) -> * mut c_void > ,
78- pub mem_size : Option < unsafe extern "C " fn ( ptr : * mut c_void ) -> usize > ,
78+ Option < unsafe extern "system " fn ( ptr : * mut * mut c_void , size : usize ) -> * mut c_void > ,
79+ pub mem_size : Option < unsafe extern "system " fn ( ptr : * mut c_void ) -> usize > ,
7980
80- pub raise_exception : Option < unsafe extern "C " fn ( message : * const c_char ) > ,
81+ pub raise_exception : Option < unsafe extern "system " fn ( message : * const c_char ) > ,
8182
8283 pub get_type_info :
83- Option < unsafe extern "C " fn ( compiler : * mut c_void , typ : * const c_char ) -> * mut c_void > ,
84- pub get_type_info_size : Option < unsafe extern "C " fn ( typeinfo : * mut c_void ) -> isize > ,
84+ Option < unsafe extern "system " fn ( compiler : * mut c_void , typ : * const c_char ) -> * mut c_void > ,
85+ pub get_type_info_size : Option < unsafe extern "system " fn ( typeinfo : * mut c_void ) -> isize > ,
8586 pub get_type_info_field_offset :
86- Option < unsafe extern "C " fn ( typeinfo : * mut c_void , field : * const c_char ) -> isize > ,
87+ Option < unsafe extern "system " fn ( typeinfo : * mut c_void , field : * const c_char ) -> isize > ,
8788
8889 pub allocate_raw_array :
89- Option < unsafe extern "C" fn ( element_size : usize , len : usize ) -> * mut c_void > ,
90- pub reallocate_raw_array :
91- Option < unsafe extern "C" fn ( array : * mut * mut c_void , element_size : usize , new_len : usize ) > ,
90+ Option < unsafe extern "system" fn ( element_size : usize , len : usize ) -> * mut c_void > ,
91+ pub reallocate_raw_array : Option <
92+ unsafe extern "system" fn ( array : * mut * mut c_void , element_size : usize , new_len : usize ) ,
93+ > ,
9294
9395 pub allocate_array :
94- Option < unsafe extern "C" fn ( type_info : * mut c_void , len : usize ) -> * mut c_void > ,
95- pub allocate_string : Option < unsafe extern "C" fn ( data : * const c_char ) -> * mut c_void > ,
96- pub allocate_unicode_string : Option < unsafe extern "C" fn ( data : * const u16 ) -> * mut c_void > ,
97-
98- pub set_array_length :
99- Option < unsafe extern "C" fn ( type_info : * mut c_void , var : * mut * mut c_void , new_len : usize ) > ,
100- pub get_array_length : Option < unsafe extern "C" fn ( var : * mut c_void ) -> usize > ,
101-
102- pub external_image_create : Option < unsafe extern "C" fn ( auto_resize : bool ) -> * mut c_void > ,
103- pub external_image_set_memory :
104- Option < unsafe extern "C" fn ( img : * mut c_void , data : * mut c_void , width : i32 , height : i32 ) > ,
96+ Option < unsafe extern "system" fn ( type_info : * mut c_void , len : usize ) -> * mut c_void > ,
97+ pub allocate_string : Option < unsafe extern "system" fn ( data : * const c_char ) -> * mut c_void > ,
98+ pub allocate_unicode_string : Option < unsafe extern "system" fn ( data : * const u16 ) -> * mut c_void > ,
99+
100+ pub set_array_length : Option <
101+ unsafe extern "system" fn ( type_info : * mut c_void , var : * mut * mut c_void , new_len : usize ) ,
102+ > ,
103+ pub get_array_length : Option < unsafe extern "system" fn ( var : * mut c_void ) -> usize > ,
104+
105+ pub external_image_create : Option < unsafe extern "system" fn ( auto_resize : bool ) -> * mut c_void > ,
106+ pub external_image_set_memory : Option <
107+ unsafe extern "system" fn ( img : * mut c_void , data : * mut c_void , width : i32 , height : i32 ) ,
108+ > ,
105109 pub external_image_resize :
106- Option < unsafe extern "C " fn ( img : * mut c_void , new_width : i32 , new_height : i32 ) > ,
110+ Option < unsafe extern "system " fn ( img : * mut c_void , new_width : i32 , new_height : i32 ) > ,
107111 pub external_image_set_user_data :
108- Option < unsafe extern "C" fn ( img : * mut c_void , user_data : * mut c_void ) > ,
109- pub external_image_get_user_data : Option < unsafe extern "C" fn ( img : * mut c_void ) -> * mut c_void > ,
112+ Option < unsafe extern "system" fn ( img : * mut c_void , user_data : * mut c_void ) > ,
113+ pub external_image_get_user_data :
114+ Option < unsafe extern "system" fn ( img : * mut c_void ) -> * mut c_void > ,
110115}
111116
112117#[ no_mangle]
@@ -123,34 +128,34 @@ pub static mut PLUGIN_SIMBA_METHODS: TSimbaMethods = unsafe { zeroed() };
123128// Optional memory management helpers
124129#[ repr( C ) ]
125130pub struct TSimbaMemoryAllocators {
126- pub get_mem : Option < extern "C " fn ( size : usize ) -> * mut c_void > ,
127- pub free_mem : Option < extern "C " fn ( p : * mut c_void ) -> usize > ,
131+ pub get_mem : Option < extern "system " fn ( size : usize ) -> * mut c_void > ,
132+ pub free_mem : Option < extern "system " fn ( p : * mut c_void ) -> usize > ,
128133}
129134
130135#[ repr( C ) ]
131136pub struct TMemoryManager {
132- pub get_mem : Option < extern "C " fn ( size : usize ) -> * mut c_void > ,
133- pub free_mem : Option < extern "C " fn ( p : * mut c_void ) -> usize > ,
137+ pub get_mem : Option < extern "system " fn ( size : usize ) -> * mut c_void > ,
138+ pub free_mem : Option < extern "system " fn ( p : * mut c_void ) -> usize > ,
134139}
135140
136141#[ no_mangle]
137- pub unsafe extern "C " fn SetPluginMemManager ( mem_mgr : TMemoryManager ) {
142+ pub unsafe extern "system " fn SetPluginMemManager ( mem_mgr : TMemoryManager ) {
138143 let _ = mem_mgr;
139144 // Implement if needed
140145}
141146
142147#[ no_mangle]
143- pub unsafe extern "C " fn SetPluginSimbaMethods ( methods : TSimbaMethods ) {
148+ pub unsafe extern "system " fn SetPluginSimbaMethods ( methods : TSimbaMethods ) {
144149 PLUGIN_SIMBA_METHODS = methods;
145150}
146151
147152#[ no_mangle]
148- pub unsafe extern "C " fn SetPluginSimbaMemoryAllocators ( _allocators : TSimbaMemoryAllocators ) {
153+ pub unsafe extern "system " fn SetPluginSimbaMemoryAllocators ( _allocators : TSimbaMemoryAllocators ) {
149154 // Implement if needed
150155}
151156
152157#[ no_mangle]
153- pub unsafe extern "C " fn RegisterSimbaPlugin (
158+ pub unsafe extern "system " fn RegisterSimbaPlugin (
154159 info : * const TSimbaInfomation ,
155160 methods : * const TSimbaMethods ,
156161) {
0 commit comments