Simple Virtual Machine
A simple but flexible virtual machine
Loading...
Searching...
No Matches
svm.h
Go to the documentation of this file.
1/*
2 * Simple Virtual Machine - A versatile and robust architecture to
3 * easily write applications.
4 * Copyright (C) 2021 Julien BRUGUIER
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the Lesser GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the Lesser GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef SVM_API
21#define SVM_API
22
115#ifdef __cplusplus
116extern "C"
117{
118#endif
119
128#define SVM_TYPE
132#define SVM_TYPE_BEGIN
136#define SVM_TYPE_END
140#define SVM_FUNCTION
141
164/*
165 * These types correspond to specific objects used in this API.
166 */
167
173SVM_TYPE typedef const void* SVM_Variable;
174
182SVM_TYPE typedef const void* SVM_Parameter;
183
189SVM_TYPE typedef const void* SVM_Structure;
190
196SVM_TYPE typedef const void* SVM_AccessControl;
197
203SVM_TYPE typedef const void* SVM_Memory_Zone;
204
212SVM_TYPE typedef const void* SVM_Lock;
213
219SVM_TYPE typedef const void* SVM_LockGuard_Read;
220
226SVM_TYPE typedef const void* SVM_LockGuard_Write;
227
235SVM_TYPE typedef const void* SVM_Event_Queue;
236
243
249SVM_TYPE typedef unsigned long int SVM_Address;
250
254SVM_TYPE typedef unsigned long int SVM_Index;
255
259SVM_TYPE typedef unsigned long int SVM_Size;
260
272SVM_TYPE typedef const void* SVM_Code;
273
286SVM_TYPE typedef const void* SVM_Kernel;
287
306SVM_TYPE typedef const void* SVM_Process;
307
313SVM_TYPE typedef const void* SVM_Process_Lock;
314
322SVM_TYPE typedef const void* SVM_Scheduler;
323
329SVM_TYPE typedef const void* SVM_Debug_Form;
330
335typedef struct
336{
337 const char *string;
345} SVM_String;
347
354typedef enum
355{
356 FALSE = 0,
357 TRUE = 1
360
380
402
414
433
446
466
487
498
499#define SVM_NOTHING
505
511SVM_TYPE typedef const void* SVM_Type;
512
520SVM_TYPE typedef const void* SVM_Value;
521
529SVM_TYPE typedef const void* SVM_Value_Integer;
530
538SVM_TYPE typedef const void* SVM_Value_String;
539
547SVM_TYPE typedef const void* SVM_Value_Boolean;
548
560SVM_TYPE typedef const void* SVM_Value_Pointer;
561
569SVM_TYPE typedef const void* SVM_Value_Library;
570
582SVM_TYPE typedef const void* SVM_Value_Symbol;
583
596
609
619SVM_TYPE typedef const void* SVM_Value_Plugin;
620
628SVM_TYPE typedef const void* SVM_Value_Automatic;
629
657
694SVM_FUNCTION void svm_plugin_configure(void *plugin_handler, const char *plugin_configuration, const char api_signature[], const char svm_version[]);
695
752
765SVM_FUNCTION void svm_variable_delete(const void *svm, const SVM_Variable variable);
766
784SVM_FUNCTION void svm_variable_scope_set_global(const void *svm, const SVM_Variable variable);
785
800SVM_FUNCTION void svm_variable_scope_set_local(const void *svm, const SVM_Variable variable);
801
820SVM_FUNCTION void svm_variable_scope_set_shared(const void *svm, const SVM_Variable variable);
821
836SVM_FUNCTION void svm_variable_scope_reset_shared(const void *svm, const SVM_Variable variable);
837
852
869
886
905
917
929
941
953
965
977
989
1001
1013
1025
1037
1049
1061
1073
1085
1112SVM_FUNCTION SVM_String svm_string_new(const void *svm, const char *buffer, const SVM_Size size);
1113
1128SVM_FUNCTION SVM_String svm_string_new__raw(const void *svm, const char *string);
1129
1143
1154SVM_FUNCTION SVM_String svm_string_copy(const void *svm, const SVM_String string);
1155
1167SVM_FUNCTION SVM_String svm_string_join(const void *svm, const SVM_String first, const SVM_String second);
1168
1180SVM_FUNCTION SVM_String svm_string_join__raw(const void *svm, const SVM_String first, const char *second);
1181
1194SVM_FUNCTION SVM_String svm_string_join__buffer(const void *svm, const SVM_String first, const char *second, const SVM_Size size);
1195
1207SVM_FUNCTION SVM_Boolean svm_string_is_equal(const void *svm, const SVM_String left, const SVM_String right);
1208
1220SVM_FUNCTION SVM_Boolean svm_string_is_equal__raw(const void *svm, const SVM_String left, const char *right);
1221
1234SVM_FUNCTION SVM_Boolean svm_string_is_equal__buffer(const void *svm, const SVM_String left, const char *buffer, const SVM_Size size);
1235
1265
1280
1292
1313
1330
1344
1357SVM_FUNCTION SVM_Parameter svm_parameter_marker_new__raw(const void *svm, const char *marker);
1358
1376SVM_FUNCTION SVM_Index svm_parameter_marker_find(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start, const SVM_String marker);
1377
1395SVM_FUNCTION SVM_Index svm_parameter_marker_find__raw(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start, const char *marker);
1396
1412SVM_FUNCTION SVM_Index svm_parameter_marker_find_separator(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start);
1413
1436SVM_FUNCTION SVM_Index svm_parameter_marker_find_closing(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index opening);
1437
1459
1476
1491
1505SVM_FUNCTION SVM_Parameter svm_parameter_keyword_new__raw(const void *svm, const char *keyword);
1506
1527
1543
1558
1577
1592
1604
1620
1638SVM_FUNCTION void svm_machine_shutdown(const void *svm, const SVM_Value_Integer return_code);
1639
1649SVM_FUNCTION void svm_machine_shutdown__raw(const void *svm, const unsigned long int return_code);
1650
1659SVM_FUNCTION void svm_machine_trace(const void *svm, const SVM_Value_String trace);
1660
1669SVM_FUNCTION void svm_machine_trace__string(const void *svm, const SVM_String trace);
1670
1679SVM_FUNCTION void svm_machine_trace__raw(const void *svm, const char *trace);
1680
1696
1709SVM_FUNCTION SVM_String svm_machine_config(const void *svm, const char *key);
1710
1722
1734
1755
1779SVM_FUNCTION SVM_Boolean svm_plugin_has_instruction(const void *svm, const SVM_Value_PluginEntryPoint instruction, const SVM_Size argc, const SVM_Parameter argv[], SVM_Parameter result);
1780
1792
1810SVM_FUNCTION SVM_Boolean svm_plugin_has_function(const void *svm, const SVM_Value_PluginEntryPoint function, const SVM_Size argc, const SVM_Parameter argv[], SVM_Parameter result);
1811
1830
1842
1854
1866
1878
1900
1912
1924
1941
1958
1975
2005
2017
2029
2044SVM_FUNCTION void* svm_structure_get_internal(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_Structure structure);
2045
2058
2131
2145
2169
2181
2193
2205
2218
2231
2242SVM_FUNCTION SVM_Type svm_type_copy(const void *svm, const SVM_Type type);
2243
2254SVM_FUNCTION SVM_String svm_type_print(const void *svm, const SVM_Type type);
2255
2270
2285
2299SVM_FUNCTION SVM_Comparison_Result svm_type_compare(const void *svm, const SVM_Type left, const SVM_Type right);
2300
2335SVM_FUNCTION SVM_Value_Integer svm_value_integer_new(const void *svm, const long int integer);
2336
2347
2359
2374SVM_FUNCTION long long int svm_value_integer_get(const void *svm, const SVM_Value_Integer integer);
2375
2390SVM_FUNCTION void svm_value_integer_set(const void *svm, SVM_Value_Integer value, const long long int integer);
2391
2410
2421SVM_FUNCTION SVM_Value_String svm_value_string_new__raw(const void *svm, const char *string);
2422
2436SVM_FUNCTION SVM_Value_String svm_value_string_new__buffer(const void *svm, const char *string, const SVM_Size size);
2437
2448
2460
2476
2491SVM_FUNCTION void svm_value_string_set(const void *svm, SVM_Value_String value, const SVM_String string);
2492
2504SVM_FUNCTION void svm_value_string_set__raw(const void *svm, SVM_Value_String value, const char *string);
2505
2520SVM_FUNCTION void svm_value_string_set__buffer(const void *svm, SVM_Value_String value, const char *string, const SVM_Size size);
2521
2540
2552
2563
2575
2591
2606SVM_FUNCTION void svm_value_boolean_set(const void *svm, SVM_Value_Boolean value, const SVM_Boolean boolean);
2607
2622SVM_FUNCTION void svm_value_boolean_set__raw(const void *svm, SVM_Value_Boolean value, const int boolean);
2623
2644
2657
2668
2680
2696
2712
2728SVM_FUNCTION void svm_value_pointer_set(const void *svm, SVM_Value_Pointer value, const SVM_Value_Pointer pointer);
2729
2746
2762
2779
2795
2813
2829SVM_FUNCTION void svm_value_pointer_set_addresssize__raw(const void *svm, SVM_Value_Pointer value, const SVM_Address address, const SVM_Size size);
2830
2849
2860
2872
2888
2904SVM_FUNCTION void svm_value_library_set(const void *svm, SVM_Value_Library value, const SVM_Value_Library library);
2905
2921
2940SVM_FUNCTION SVM_Value_Symbol svm_value_symbol_new(const void *svm, const SVM_Code code, const SVM_Address symbol);
2941
2952
2964
2980
2996
3011
3027SVM_FUNCTION void svm_value_symbol_set(const void *svm, SVM_Value_Symbol value, const SVM_Value_Symbol symbol);
3028
3043SVM_FUNCTION void svm_value_symbol_set_code(const void *svm, SVM_Value_Symbol value, const SVM_Code code);
3044
3059SVM_FUNCTION void svm_value_symbol_set_address(const void *svm, SVM_Value_Symbol value, const SVM_Address address);
3060
3076SVM_FUNCTION void svm_value_symbol_set_codeaddress(const void *svm, SVM_Value_Symbol value, const SVM_Code code, const SVM_Address address);
3077
3097
3110
3122SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new__raw(const void *svm, const char *plugin_name, const char *entry_name);
3123
3138
3149
3161
3177
3193
3210
3226
3242
3257SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *plugin_name);
3258
3274SVM_FUNCTION void svm_value_pluginentrypoint_set_entry(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String entry_name, const char *prefix);
3275
3291SVM_FUNCTION void svm_value_pluginentrypoint_set_entry__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String entry_name, const char *prefix);
3292
3308SVM_FUNCTION void svm_value_pluginentrypoint_set_entry__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *entry_name, const char *prefix);
3309
3326SVM_FUNCTION void svm_value_pluginentrypoint_set_pluginentry(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String plugin_name, const SVM_Value_String entry_name, const char *prefix);
3327
3344SVM_FUNCTION void svm_value_pluginentrypoint_set_pluginentry__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String plugin_name, const SVM_String entry_name, const char *prefix);
3345
3362SVM_FUNCTION void svm_value_pluginentrypoint_set_pluginentry__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *plugin_name, const char *entry_name, const char *prefix);
3363
3387
3404
3421
3438
3455
3472
3483
3495
3512
3529
3546
3563
3579
3595
3613
3630
3649
3668
3687
3707
3727
3747
3771
3784
3800
3816
3832
3846
3862
3881
3902SVM_FUNCTION void svm_value_plugin_set(const void *svm, SVM_Value_Plugin value, const SVM_Value_Plugin plugin);
3903
3925SVM_FUNCTION void svm_value_plugin_set_internal(const void *svm, SVM_Value_Plugin value, const SVM_Value_PluginEntryPoint type, void *internal_value);
3926
3941
3961
3980
3992
4009
4023SVM_FUNCTION SVM_Boolean svm_value_is_equal(const void *svm, const SVM_Value left, const SVM_Value right);
4024
4041
4053
4065
4080
4096SVM_FUNCTION SVM_Value svm_value_copy(const void *svm, const SVM_Value value);
4097
4110SVM_FUNCTION SVM_String svm_value_print(const void *svm, const SVM_Value value);
4111
4125
4164SVM_FUNCTION SVM_Code svm_code_new(const void *svm, const SVM_Value_String name, const SVM_Value_String source);
4165
4183SVM_FUNCTION SVM_Code svm_code_new__string(const void *svm, const SVM_String name, const SVM_String source);
4184
4202SVM_FUNCTION SVM_Code svm_code_new__raw(const void *svm, const char *name, const char *source);
4203
4218
4233
4247SVM_FUNCTION SVM_Variable svm_code_compile__raw(const void *svm, const char *name, const char *source);
4248
4262
4274
4288SVM_FUNCTION SVM_String svm_code_print(const void *svm, const SVM_Code code);
4289
4307
4320
4332SVM_FUNCTION SVM_Boolean svm_code_label_has_address__raw(const void *svm, const SVM_Code code, const char *label);
4333
4353
4369
4385
4400SVM_FUNCTION SVM_Address svm_code_label_get_address__raw(const void *svm, const SVM_Code code, const char *label);
4401
4421
4434
4446SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address__raw(const void *svm, const SVM_Code code, const char *label);
4447
4475
4489
4503
4516SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address__raw(const void *svm, const SVM_Code code, const char *label);
4517
4539
4553
4567
4581
4595
4626SVM_FUNCTION SVM_AccessControl svm_accesscontrol_new(const void *svm, const unsigned long int *max_instructions, const unsigned long int *max_memory);
4627
4645
4659SVM_FUNCTION unsigned long int svm_accesscontrol_get_instructions(const void *svm, const SVM_AccessControl access_control);
4660
4675SVM_FUNCTION void svm_accesscontrol_set_instructions(const void *svm, SVM_AccessControl access_control, const unsigned long int instructions);
4676
4696
4710SVM_FUNCTION unsigned long int svm_accesscontrol_get_memory(const void *svm, const SVM_AccessControl access_control);
4711
4726SVM_FUNCTION void svm_accesscontrol_set_memory(const void *svm, SVM_AccessControl access_control, const unsigned long int memory);
4727
4779SVM_FUNCTION SVM_Kernel svm_kernel_new_code(const void *svm, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control, const SVM_Code code);
4780
4807SVM_FUNCTION SVM_Kernel svm_kernel_new_symbol(const void *svm, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control, const SVM_Value_Symbol symbol);
4808
4821
4835
4858
4874
4890
4906
4922
4938
4954
4970SVM_FUNCTION void svm_kernel_set_accesscontrol(const void* svm, const SVM_Kernel kernel, const SVM_AccessControl access_control);
4971
4987
5005
5023
5041SVM_FUNCTION void svm_kernel_suspend(const void *svm, const SVM_Kernel kernel);
5042
5053SVM_FUNCTION void svm_kernel_terminate(const void *svm, const SVM_Kernel kernel);
5054
5078SVM_FUNCTION void svm_kernel_swap_memory(const void *svm, SVM_Kernel kernel1, SVM_Kernel kernel2);
5079
5121SVM_FUNCTION SVM_Process svm_process_new(const void *svm, const SVM_Value_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Kernel kernel);
5122
5140SVM_FUNCTION SVM_Process svm_process_new__string(const void *svm, const SVM_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Kernel kernel);
5141
5159SVM_FUNCTION SVM_Process svm_process_new__raw(const void *svm, const char *name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Kernel kernel);
5160
5190SVM_FUNCTION SVM_Process svm_process_new_code(const void *svm, const SVM_Value_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Code code, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control);
5191
5221SVM_FUNCTION SVM_Process svm_process_new_code__string(const void *svm, const SVM_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Code code, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control);
5222
5252SVM_FUNCTION SVM_Process svm_process_new_code__raw(const void *svm, const char *name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Code code, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control);
5253
5283SVM_FUNCTION SVM_Process svm_process_new_symbol(const void *svm, const SVM_Value_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Value_Symbol symbol, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control);
5284
5314SVM_FUNCTION SVM_Process svm_process_new_symbol__string(const void *svm, const SVM_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Value_Symbol symbol, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control);
5315
5345SVM_FUNCTION SVM_Process svm_process_new_symbol__raw(const void *svm, const char *name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Value_Symbol symbol, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control);
5346
5359
5412
5436
5456
5477
5499SVM_FUNCTION void svm_process_run(const void *svm, const SVM_Process process, const SVM_Value_Integer delay);
5500
5515SVM_FUNCTION void svm_process_run__raw(const void *svm, const SVM_Process process, const unsigned long int delay);
5516
5529SVM_FUNCTION void svm_process_suspend(const void *svm, const SVM_Process process);
5530
5543SVM_FUNCTION void svm_process_terminate(const void *svm, const SVM_Process process);
5544
5558SVM_FUNCTION void svm_process_interrupt(const void *svm, const SVM_Process process, const SVM_Value_Interruption interruption);
5559
5581SVM_FUNCTION void svm_process_pause(const void *svm);
5582
5599SVM_FUNCTION void svm_process_resume(const void *svm);
5600
5648
5668
5687
5704
5723
5735
5749
5763
5777
5796
5811
5832
5850
5862
5893SVM_FUNCTION SVM_Boolean svm_process_kernel_attach(const void *svm, SVM_Process process, const SVM_Kernel kernel, const SVM_Size argc, SVM_Parameter argv[]);
5894
5918SVM_FUNCTION SVM_Boolean svm_process_kernel_detach(const void *svm, SVM_Process process, const SVM_Kernel kernel, const SVM_Size argc, SVM_Parameter argv[]);
5919
5935
5970
5981
5994SVM_FUNCTION void* svm_scheduler_get_internal(const void *svm, const SVM_Scheduler scheduler);
5995
6007
6033SVM_FUNCTION SVM_Boolean svm_scheduler_process_attach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Size argc, const SVM_Parameter argv[]);
6034
6062SVM_FUNCTION SVM_Boolean svm_scheduler_process_detach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Size argc, const SVM_Parameter argv[]);
6063
6083SVM_FUNCTION SVM_Boolean svm_scheduler_notify(const void *svm, const SVM_Scheduler scheduler, const SVM_Size argc, const SVM_Parameter argv[]);
6084
6119
6142
6155
6178
6191
6211
6224
6243
6257
6276
6288SVM_FUNCTION void svm_event_queue_join(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address);
6289
6303SVM_FUNCTION void svm_event_queue_leave(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address);
6304
6318
6337SVM_FUNCTION void svm_event_queue_push(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, const SVM_Event_Queue_Address origin, const SVM_Structure event);
6338
6358SVM_FUNCTION void svm_event_queue_broadcast(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address origin, const SVM_Structure event);
6359
6387
6417SVM_FUNCTION SVM_Boolean svm_event_queue_check(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, SVM_Event_Queue_Address *origin, SVM_Structure *event, const SVM_Value_Integer timeout, const SVM_Boolean soft);
6418
6446SVM_FUNCTION SVM_Boolean svm_event_queue_check__raw(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, SVM_Event_Queue_Address *origin, SVM_Structure *event, const unsigned long int timeout, const SVM_Boolean soft);
6447
6484
6500
6517
6533SVM_FUNCTION void svm_processor_jump_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
6534
6550SVM_FUNCTION void svm_processor_jump_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol);
6551
6568SVM_FUNCTION void svm_processor_call_local(const void *svm, const SVM_Kernel kernel, const SVM_Address function, const SVM_Value_Pointer parameters);
6569
6586SVM_FUNCTION void svm_processor_call_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol function, const SVM_Value_Pointer parameters);
6587
6608SVM_FUNCTION void svm_processor_call_identical(const void *svm, const SVM_Kernel kernel, const SVM_Boolean transfer);
6609
6625SVM_FUNCTION void svm_processor_return(const void *svm, const SVM_Kernel kernel);
6626
6635
6659SVM_FUNCTION void svm_processor_current_sleep(const void *svm, const SVM_Value_Integer seconds, const SVM_Value_Integer milliseconds, const SVM_Boolean soft);
6660
6683SVM_FUNCTION void svm_processor_current_sleep__raw(const void *svm, const unsigned long int seconds, const unsigned long int milliseconds, const SVM_Boolean soft);
6684
6707
6722SVM_FUNCTION void svm_processor_returnstack_swap_level(const void *svm, const SVM_Kernel kernel, const SVM_Index level);
6723
6744
6765
6785SVM_FUNCTION SVM_Index svm_processor_returnstack_find_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Index start);
6786
6810SVM_FUNCTION void svm_processor_returnstack_move_level(const void *svm, const SVM_Kernel kernel, const SVM_Index start, const SVM_Index end, const SVM_Index target);
6811
6834
6848SVM_FUNCTION void svm_processor_set_currentpointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
6849
6874SVM_FUNCTION void svm_processor_interruptionhandler_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Address address, const SVM_Object_Level level);
6875
6893SVM_FUNCTION void svm_processor_interruptionhandler_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Value_Symbol symbol, const SVM_Object_Level level);
6894
6911SVM_FUNCTION void svm_processor_interruptionhandler_reset(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Object_Level level);
6912
6934
6957
6976SVM_FUNCTION void svm_processor_add_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
6977
6993
7011
7028SVM_FUNCTION void svm_processor_hold_interruption(const void *svm, const SVM_Kernel kernel);
7029
7047
7065
7081
7095SVM_FUNCTION void svm_processor_set_currentinterruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
7096
7113
7126SVM_FUNCTION void svm_processor_current_raise_error_internal__raw(const void *svm, const SVM_Interruption_Internal interruption, const char *message);
7127
7142SVM_FUNCTION void svm_processor_current_raise_error_external__raw(const void *svm, const SVM_Value_PluginEntryPoint interruption, const char *message);
7143
7167
7184
7200SVM_FUNCTION SVM_Boolean svm_processor_has_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag);
7201
7219
7238SVM_FUNCTION void svm_processor_set_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Object_Level level);
7239
7258SVM_FUNCTION void svm_processor_set_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Object_Level level);
7259
7278SVM_FUNCTION void svm_processor_set_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Object_Level level);
7279
7298SVM_FUNCTION void svm_processor_reset_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Object_Level level);
7299
7318SVM_FUNCTION void svm_processor_reset_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Object_Level level);
7319
7338SVM_FUNCTION void svm_processor_reset_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Object_Level level);
7339
7374SVM_FUNCTION void svm_processor_instructionoverride_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Object_Level level);
7375
7403SVM_FUNCTION void svm_processor_instructionoverride_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Object_Level level);
7404
7424
7444
7461SVM_FUNCTION void svm_processor_instructionoverride_reset_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Object_Level level);
7462
7480
7511
7523
7541
7553SVM_FUNCTION void svm_memory_zone_append(const void *svm, SVM_Memory_Zone zone, const SVM_Type type, const SVM_Value_Integer times);
7554
7566SVM_FUNCTION void svm_memory_zone_append__raw(const void *svm, SVM_Memory_Zone zone, const SVM_Type type, const SVM_Size times);
7567
7580
7592
7605
7617
7628
7643SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_get(const void *svm, const SVM_Size size, const SVM_Value *values);
7644
7659
7675SVM_FUNCTION void svm_memory_zone_insert_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Memory_Zone insert);
7676
7694SVM_FUNCTION void svm_memory_zone_remove_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Size size);
7695
7710SVM_FUNCTION void svm_memory_zone_replace_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Memory_Zone replace);
7711
7728
7740
7755
7765
7775
7806
7841
7857SVM_FUNCTION void svm_memory_free(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
7858
7887SVM_FUNCTION void svm_memory_scope_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
7888
7906SVM_FUNCTION void svm_memory_scope_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
7907
7924SVM_FUNCTION void svm_memory_scope_set_local_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
7925
7942SVM_FUNCTION void svm_memory_scope_set_local_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
7943
7960SVM_FUNCTION void svm_memory_scope_set_local_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
7961
7978SVM_FUNCTION void svm_memory_scope_set_global_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
7979
7996SVM_FUNCTION void svm_memory_scope_set_global_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
7997
8014SVM_FUNCTION void svm_memory_scope_set_global_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
8015
8039
8056
8074SVM_FUNCTION SVM_Type svm_memory_address_get_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
8075
8095SVM_FUNCTION SVM_Boolean svm_memory_address_is_writable(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value value);
8096
8115SVM_FUNCTION void svm_memory_address_set_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type type);
8116
8159
8195
8217
8235
8255
8276SVM_FUNCTION void svm_memory_pointer_set_zone(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Memory_Zone zone);
8277
8304SVM_FUNCTION SVM_Value svm_memory_read_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
8305
8326SVM_FUNCTION SVM_Value svm_memory_read_address_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type type);
8327
8349
8374
8394SVM_FUNCTION SVM_Value svm_memory_extract_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
8395
8418SVM_FUNCTION SVM_Value* svm_memory_read_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8419
8443SVM_FUNCTION SVM_Value* svm_memory_read_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size);
8444
8467SVM_FUNCTION SVM_Value* svm_memory_read_pointer_type(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Type type);
8468
8492SVM_FUNCTION SVM_Value* svm_memory_read_pointer_type__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Type type);
8493
8517
8541SVM_FUNCTION SVM_Value* svm_memory_read_pointer_type_internal__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Type_Internal type);
8542
8566
8591
8617SVM_FUNCTION SVM_Value* svm_memory_read_pointer_zone(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Memory_Zone zone);
8618
8643SVM_FUNCTION SVM_Value* svm_memory_read_pointer_zone__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Memory_Zone zone);
8644
8668
8692SVM_FUNCTION SVM_Value* svm_memory_extract_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size);
8693
8722SVM_FUNCTION void svm_memory_write_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value value);
8723
8750SVM_FUNCTION void svm_memory_write_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Value* values);
8751
8779SVM_FUNCTION void svm_memory_write_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Value* values);
8780
8804SVM_FUNCTION void svm_memory_add_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias, const SVM_Value_Pointer pointer);
8805
8822SVM_FUNCTION void svm_memory_add_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias, const SVM_Value_Pointer pointer);
8823
8840SVM_FUNCTION void svm_memory_add_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias, const SVM_Value_Pointer pointer);
8841
8858
8875
8891SVM_FUNCTION SVM_Boolean svm_memory_has_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
8892
8911
8930
8948SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
8949
8965SVM_FUNCTION void svm_memory_remove_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
8966
8982SVM_FUNCTION void svm_memory_remove_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
8983
8999SVM_FUNCTION void svm_memory_remove_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
9000
9029SVM_FUNCTION void svm_memory_copy(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer origin, const SVM_Kernel remote, const SVM_Value_Pointer target);
9030
9053SVM_FUNCTION void svm_memory_move(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer origin, const SVM_Kernel remote, const SVM_Value_Pointer target);
9054
9080SVM_FUNCTION void svm_memory_share(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer origin, const SVM_Kernel remote, const SVM_Value_Pointer target);
9081
9107SVM_FUNCTION void svm_memory_translate(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer zone, const SVM_Value_Pointer origin, const SVM_Value_Pointer target);
9108
9127SVM_FUNCTION void svm_memory_address_shift(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value_Integer shift);
9128
9147SVM_FUNCTION void svm_memory_address_shift__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, signed long int shift);
9148
9178SVM_FUNCTION void svm_memory_synchronisation_enable(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
9179
9197SVM_FUNCTION void svm_memory_synchronisation_disable(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
9198
9225SVM_FUNCTION void svm_debug_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_String message);
9226
9238SVM_FUNCTION void svm_debug_break__string(const void *svm, const SVM_Kernel kernel, const SVM_String message);
9239
9251SVM_FUNCTION void svm_debug_break__raw(const void *svm, const SVM_Kernel kernel, const char *message);
9252
9266SVM_FUNCTION void svm_debug_notify(const void *svm, const SVM_Kernel kernel, const SVM_Value_String message);
9267
9281SVM_FUNCTION void svm_debug_notify__string(const void *svm, const SVM_Kernel kernel, const SVM_String message);
9282
9296SVM_FUNCTION void svm_debug_notify__raw(const void *svm, const SVM_Kernel kernel, const char *message);
9297
9312SVM_FUNCTION void svm_debug_synchronise(const void *svm, const SVM_Value value);
9313
9331SVM_FUNCTION void svm_debug_breakpoint_add_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol);
9332
9345SVM_FUNCTION void svm_debug_breakpoint_remove_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol);
9346
9359SVM_FUNCTION void svm_debug_breakpoint_add_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
9360
9374
9387SVM_FUNCTION void svm_debug_breakpoint_remove_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
9388
9401SVM_FUNCTION void svm_debug_breakpoint_add_memoryread(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9402
9415SVM_FUNCTION void svm_debug_breakpoint_remove_memoryread(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9416
9429SVM_FUNCTION void svm_debug_breakpoint_add_memorywrite(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9430
9443SVM_FUNCTION void svm_debug_breakpoint_remove_memorywrite(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9444
9457SVM_FUNCTION void svm_debug_breakpoint_add_memoryaccess(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9458
9471SVM_FUNCTION void svm_debug_breakpoint_remove_memoryaccess(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9472
9485SVM_FUNCTION void svm_debug_breakpoint_add_memoryfree(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9486
9499SVM_FUNCTION void svm_debug_breakpoint_remove_memoryfree(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9500
9518SVM_FUNCTION SVM_Debug_Form svm_debug_form_new(const void *svm, const char *title);
9519
9530SVM_FUNCTION void svm_debug_form_append_checkbox(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_Boolean default_value);
9531
9544SVM_FUNCTION void svm_debug_form_append_checkbox__raw(const void *svm, SVM_Debug_Form form, const char *label, const int default_value);
9545
9563SVM_FUNCTION void svm_debug_form_append_selection(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Size size, const SVM_Value *values);
9564
9579SVM_FUNCTION void svm_debug_form_append_integer(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_Integer default_value, const long long int min_value, const long long int max_value);
9580
9595SVM_FUNCTION void svm_debug_form_append_integer__raw(const void *svm, SVM_Debug_Form form, const char *label, const long long int default_value, const long long int min_value, const long long int max_value);
9596
9611SVM_FUNCTION void svm_debug_form_append_string(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_String default_value, const SVM_Size min_size, const SVM_Size max_size);
9612
9627SVM_FUNCTION void svm_debug_form_append_string__string(const void *svm, SVM_Debug_Form form, const char *label, const SVM_String default_value, const SVM_Size min_size, const SVM_Size max_size);
9628
9643SVM_FUNCTION void svm_debug_form_append_string__raw(const void *svm, SVM_Debug_Form form, const char *label, const char *default_value, const SVM_Size min_size, const SVM_Size max_size);
9644
9656SVM_FUNCTION void svm_debug_form_append_text(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Size width, const SVM_Size height);
9657
9675
9680#ifdef __cplusplus
9681}
9682#endif
9683#endif
SVM_FUNCTION SVM_AccessControl svm_accesscontrol_new(const void *svm, const unsigned long int *max_instructions, const unsigned long int *max_memory)
This function creates an access control quota for a SVM code execution.
SVM_FUNCTION void svm_accesscontrol_set_instructions(const void *svm, SVM_AccessControl access_control, const unsigned long int instructions)
This function changes the remaining instructions counter within a quota for a SVM code execution.
SVM_FUNCTION SVM_Boolean svm_accesscontrol_has_instructions(const void *svm, const SVM_AccessControl access_control)
This function checks whether a quota for a SVM code execution contains a limit for instructions.
SVM_FUNCTION unsigned long int svm_accesscontrol_get_instructions(const void *svm, const SVM_AccessControl access_control)
This function retrieves the remaining instructions counter from a quota for a SVM code execution.
SVM_FUNCTION SVM_Boolean svm_accesscontrol_has_memory(const void *svm, const SVM_AccessControl access_control)
This function checks whether a quota for a SVM code execution contains a limit for memory.
SVM_FUNCTION unsigned long int svm_accesscontrol_get_memory(const void *svm, const SVM_AccessControl access_control)
This function retrieves the remaining memory counter from a quota for a SVM code execution.
SVM_FUNCTION void svm_accesscontrol_set_memory(const void *svm, SVM_AccessControl access_control, const unsigned long int memory)
This function changes the remaining memory counter within a quota for a SVM code execution.
SVM_FUNCTION SVM_Type svm_memory_address_get_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function extracts the type of a value from a memory.
SVM_FUNCTION SVM_Boolean svm_memory_address_is_defined(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function checks whether an address is defined in a memory.
SVM_FUNCTION SVM_Boolean svm_memory_address_is_initialised(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function checks whether an address is initialised in a memory.
SVM_FUNCTION void svm_memory_address_set_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type type)
This function modifies the type to an internal type of an address of a memory.
SVM_FUNCTION SVM_Boolean svm_memory_address_is_writable(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value value)
This function checks whether a value can be written into a memory.
SVM_FUNCTION void svm_memory_add_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias, const SVM_Value_Pointer pointer)
This function creates a new alias in a memory from a C nul-terminated value.
SVM_FUNCTION void svm_memory_remove_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias)
This function removes an alias from a memory from a C nul-terminated string.
SVM_FUNCTION SVM_Boolean svm_memory_has_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias)
This function checks whether an alias is defined in a memory from a SVM_String.
SVM_FUNCTION SVM_Boolean svm_memory_has_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias)
This function checks whether an alias is defined in a memory from a string value.
SVM_FUNCTION void svm_memory_remove_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias)
This function removes an alias from a memory from a string value.
SVM_FUNCTION void svm_memory_remove_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias)
This function removes an alias from a memory from a SVM_String.
SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias)
This function extracts the pointer associated to an alias in a memory from a string value.
SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias)
This function extracts the pointer associated to an alias in a memory from a SVM_String.
SVM_FUNCTION void svm_memory_add_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias, const SVM_Value_Pointer pointer)
This function creates a new alias in a memory from a string value.
SVM_FUNCTION SVM_Boolean svm_memory_has_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias)
This function checks whether an alias is defined in a memory from a C nul-terminated string.
SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer__raw(const void *svm, const SVM_Kernel kernel, const char *alias)
This function extracts the pointer associated to an alias in a memory from a C nul-terminated string.
SVM_FUNCTION void svm_memory_add_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias, const SVM_Value_Pointer pointer)
This function creates a new alias in a memory from a SVM_String.
SVM_FUNCTION SVM_Value_Pointer svm_memory_allocate_address(const void *svm, const SVM_Kernel kernel, const SVM_Memory_Zone zone, const SVM_Address address)
This function allocates a zone in a memory at a specified address.
SVM_FUNCTION void svm_memory_free(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function frees a memory zone.
SVM_FUNCTION SVM_Value_Pointer svm_memory_allocate(const void *svm, const SVM_Kernel kernel, const SVM_Memory_Zone zone)
This function allocates a zone in a memory.
SVM_TYPE typedef const void * SVM_Value_Interruption
This type is used to represent an interruption name the SVM can store in one of its memories.
Definition svm.h:608
SVM_TYPE typedef const void * SVM_Event_Queue_Address
This type is used to represent an entity able to post and get events from an event queue.
Definition svm.h:242
SVM_TYPE typedef const void * SVM_Kernel
This type is used to represent an atomic execution environment.
Definition svm.h:286
SVM_TYPE typedef const void * SVM_Event_Queue
This type is used as a complex synchronisation facility.
Definition svm.h:235
SVM_TYPE typedef const void * SVM_Type
This type is used to represent types of any value the SVM can store in one of its memories.
Definition svm.h:511
SVM_Process_State
This type represents the status of a process.
Definition svm.h:421
SVM_TYPE typedef const void * SVM_Code
This type is used to represent a section of code of the SVM.
Definition svm.h:272
SVM_TYPE typedef const void * SVM_LockGuard_Read
This type is used to represent the aquisition of a SVM_Lock as a reader.
Definition svm.h:219
SVM_TYPE typedef const void * SVM_Value_String
This type is used to represent a string the SVM can store in one of its memories.
Definition svm.h:538
SVM_TYPE typedef const void * SVM_Value_Pointer
This type is used to represent a pointer the SVM can store in one of its memories.
Definition svm.h:560
SVM_TYPE typedef SVM_Process_State SVM_Kernel_State
This type represents the status of a kernel.
Definition svm.h:504
SVM_TYPE typedef const void * SVM_Structure
This type is used to convey a C pointer used for data exchange between plugins.
Definition svm.h:189
SVM_TYPE typedef const void * SVM_Value_Library
This type is used to represent a library the SVM can store in one of its memories.
Definition svm.h:569
SVM_TYPE typedef const void * SVM_Value_Plugin
This type is used to represent a value defined by a plugin the SVM can store in one of its memories.
Definition svm.h:619
SVM_Boolean
This type corresponds to a simple boolean.
Definition svm.h:355
SVM_TYPE typedef const void * SVM_Value_PluginEntryPoint
This type is used to represent a plugin entry point the SVM can store in one of its memories.
Definition svm.h:595
SVM_TYPE typedef const void * SVM_Value_Symbol
This type is used to represent a symbol the SVM can store in one of its memories.
Definition svm.h:582
SVM_TYPE typedef const void * SVM_Lock
This type is used as a simple synchronisation facility.
Definition svm.h:212
SVM_TYPE typedef const void * SVM_Value_Automatic
This type is used to represent a null automatic value.
Definition svm.h:628
SVM_TYPE typedef const void * SVM_AccessControl
This type is used to represent quotas on code execution.
Definition svm.h:196
SVM_TYPE typedef unsigned long int SVM_Size
This type is used to represent an object size.
Definition svm.h:259
SVM_TYPE typedef const void * SVM_Debug_Form
This type is used to represent the a formular in the debugger user interface.
Definition svm.h:329
SVM_Object_Level
This type corresponds to the level of definition of an object.
Definition svm.h:440
SVM_Type_Internal
This type corresponds to value types the SVM can store in its memory.
Definition svm.h:368
SVM_TYPE typedef const void * SVM_Parameter
This type is used by the SVM to pass instruction parameters to the corresponding plugin function.
Definition svm.h:182
SVM_TYPE typedef const void * SVM_Memory_Zone
This type is used to represent the types of a contiguous zone of memory prior to its allocation.
Definition svm.h:203
SVM_Interruption_Internal
This type corresponds to interruption types the SVM can use to stop program executions.
Definition svm.h:387
SVM_TYPE typedef const void * SVM_Process
This type is used to represent an execution thread in the SVM.
Definition svm.h:306
SVM_TYPE typedef const void * SVM_Process_Lock
This type is used to represent the aquisition of a lock on a remote process.
Definition svm.h:313
SVM_TYPE typedef unsigned long int SVM_Index
This type is used to represent an index.
Definition svm.h:254
SVM_TYPE typedef const void * SVM_Scheduler
This type is used to represent an execution scheduler.
Definition svm.h:322
SVM_Interruption_Kind
This type represents the two major classes of interruptions the SVM can handle.
Definition svm.h:409
SVM_TYPE typedef const void * SVM_Variable
This type is used to represent any object managed by the SVM.
Definition svm.h:173
SVM_TYPE typedef const void * SVM_Value_Boolean
This type is used to represent a boolean the SVM can store in one of its memories.
Definition svm.h:547
SVM_TYPE typedef unsigned long int SVM_Address
This type is used to represent:
Definition svm.h:249
SVM_Value_Plugin_Comparison
This type corresponds to the result of SVM_Value_Plugin comparison.
Definition svm.h:474
SVM_TYPE typedef const void * SVM_LockGuard_Write
This type is used to represent the aquisition of a SVM_Lock as a writer.
Definition svm.h:226
SVM_TYPE typedef const void * SVM_Value
This type is used to represent any value the SVM can store in one of its memories.
Definition svm.h:520
SVM_TYPE typedef const void * SVM_Value_Integer
This type is used to represent an integer the SVM can store in one of its memories.
Definition svm.h:529
@ DEBUG
the process is blocked in a state it answers only to the debugger
Definition svm.h:427
@ RUNNING
the process lets the processor of the current kernel executing instructions
Definition svm.h:422
@ SUSPENDED
the process is in a light sleep, and can return in running mode anytime
Definition svm.h:423
@ ERROR
the process reached an invalid state
Definition svm.h:430
@ CONTINUE
the process is blocked in a state in which it will only accept an execution request
Definition svm.h:425
@ ZOMBIE
the process has completed its execution and is not destroyed yet
Definition svm.h:428
@ INTERRUPTED
the process has completed its execution on a non-handled interruption
Definition svm.h:429
@ LOCKED
the process is temporarly owned by someone and can not return in running mode
Definition svm.h:426
@ WAITING
the process is blocked in a state in which it may not answer to scheduler requests
Definition svm.h:424
@ FALSE
self-explained
Definition svm.h:356
@ TRUE
self-explained
Definition svm.h:357
@ LOCAL
the object is located in the current state of the processor
Definition svm.h:441
@ CASCADE
the object is located in the current state and all sub states of the processor
Definition svm.h:442
@ GLOBAL
the object is located in the processor
Definition svm.h:443
@ AUTOMATIC
generic type to be replaced at first assignation
Definition svm.h:369
@ INTEGER
integer type corresponding to long long int
Definition svm.h:370
@ LIBRARY
library type corresponding to SVM_Code
Definition svm.h:374
@ BOOLEAN
boolean type corresponding to SVM_Boolean
Definition svm.h:372
@ INTERRUPTION
interruption type corresponds to processor interruptions
Definition svm.h:377
@ POINTER
pointer type used to target memory zones
Definition svm.h:373
@ SYMBOL
symbol type used to target code location
Definition svm.h:375
@ STRING
string type corresponding to SVM_String
Definition svm.h:371
@ PLUGIN_ENTRY_POINT
plugin entry point type used to identify a plugin object
Definition svm.h:376
@ SECURITY
raised on security violation or quota overflow
Definition svm.h:396
@ DEVICE
raised on SIGPIPE, SIGBUS
Definition svm.h:389
@ PROCESSOR
raised on SIGILL or processor invalid action
Definition svm.h:394
@ FIRST
raised on SIGUSR1
Definition svm.h:391
@ SECOND
raised on SIGUSR2
Definition svm.h:395
@ NUMERIC
raised on SIGFPE
Definition svm.h:393
@ CLONE
raised on SIGCHLD
Definition svm.h:388
@ TERMINATE
raised on SIGTERM, SIGINT, SIGHUP, SIGALRM
Definition svm.h:397
@ TERMINAL
raised on SIGTTIN, SIGTTOU, SIGWINCH
Definition svm.h:398
@ GENERIC
raised on all other signals
Definition svm.h:399
@ MEMORY
raised on memory access failure
Definition svm.h:392
@ FAILURE
raised on SIGABRT, SIGQUIT or generic failure in instruction
Definition svm.h:390
@ SOFTWARE
the class of interruptions coming from instructions and execution errors
Definition svm.h:410
@ HARDWARE
the class of interruptions coming from the OS signals
Definition svm.h:411
@ EQUIVALENCE_EQUAL
Used to specify that values are equal.
Definition svm.h:475
@ EQUIVALENCE_DIFFERENT
Used to specify that values are different.
Definition svm.h:476
@ ORDER_SUPERIOR
Used to specify that left value is superior to right value.
Definition svm.h:479
@ COMPARISON_STRONG
Used to specify that the real comparison has been computed.
Definition svm.h:483
@ ORDER_PARTIAL
Used to specify that the order is partial (unused when an equivalence is used, set automatically when...
Definition svm.h:482
@ ORDER_UNCOMPARABLE
Used to specify that left value and the right value can not be compared.
Definition svm.h:480
@ COMPARISON_WEAK
Used to specify that an heuristic or arbitrary comparison has been computed.
Definition svm.h:484
@ ORDER_TOTAL
Used to specify that the order is total (unused when an equivalence is used)
Definition svm.h:481
@ ORDER_INFERIOR
Used to specify that left value is inferior to right value.
Definition svm.h:478
@ ORDER_EQUAL
Used to specify that values are equal.
Definition svm.h:477
#define SVM_FUNCTION
Declares a monoline SVM API function.
Definition svm.h:140
#define SVM_TYPE_BEGIN
Declares the begining of a multiline SVM type.
Definition svm.h:132
#define SVM_TYPE
Declares a monoline SVM type.
Definition svm.h:128
#define SVM_TYPE_END
Declares the end of a multiline SVM type.
Definition svm.h:136
SVM_FUNCTION SVM_Value_Automatic svm_value_automatic_new_null(const void *svm)
This function creates an automatic value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Value_Boolean svm_value_boolean_new(const void *svm, const SVM_Boolean boolean)
This function creates a boolean value the SVM can store in its memories from a raw boolean.
SVM_FUNCTION void svm_value_boolean_set(const void *svm, SVM_Value_Boolean value, const SVM_Boolean boolean)
This function replaces the raw boolean contained in a boolean value from a SVM_Boolean.
SVM_FUNCTION SVM_Value_Boolean svm_value_boolean_new__raw(const void *svm, const int boolean)
This function creates a boolean value the SVM can store in its memories from a C boolean.
SVM_FUNCTION SVM_Boolean svm_value_boolean_get(const void *svm, const SVM_Value_Boolean boolean)
This function extracts the SVM_Boolean contained in a boolean value.
SVM_FUNCTION void svm_value_boolean_set__raw(const void *svm, SVM_Value_Boolean value, const int boolean)
This function replaces the raw boolean contained in a boolean value from a C boolean.
SVM_FUNCTION SVM_Boolean svm_value_type_is_boolean(const void *svm, const SVM_Value value)
This function checks whether a value contains a boolean.
SVM_FUNCTION SVM_Value_Boolean svm_value_boolean_new_null(const void *svm)
This function creates a boolean value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Code svm_code_new(const void *svm, const SVM_Value_String name, const SVM_Value_String source)
This function creates a SVM code from two string values.
SVM_FUNCTION SVM_Code svm_code_new__string(const void *svm, const SVM_String name, const SVM_String source)
This function creates a SVM code from two SVM_String.
SVM_FUNCTION SVM_Variable svm_code_compile__raw(const void *svm, const char *name, const char *source)
This function creates a SVM code from two C nul-terminated strings.
SVM_FUNCTION SVM_Code svm_code_new__raw(const void *svm, const char *name, const char *source)
This function creates a SVM code from two C nul-terminated strings.
SVM_FUNCTION SVM_Variable svm_code_compile(const void *svm, const SVM_Value_String name, const SVM_Value_String source)
This function tries to create a SVM code from two string values.
SVM_FUNCTION SVM_Variable svm_code_compile__string(const void *svm, const SVM_String name, const SVM_String source)
This function creates a SVM code from two SVM_String.
SVM_FUNCTION SVM_Size svm_code_get_size(const void *svm, const SVM_Code code)
This function returns the number of instructions of a given SVM code.
SVM_FUNCTION SVM_String svm_code_instruction_get_text(const void *svm, const SVM_Code code, const SVM_Address address)
This function returns the text of the instruction at a given address of a given SVM code.
SVM_FUNCTION SVM_Boolean svm_code_instruction_is_system(const void *svm, const SVM_Code code, const SVM_Address address)
This function returns whether the instruction at a given address of a given SVM code has the system f...
SVM_FUNCTION SVM_Boolean svm_code_instruction_is_waiting(const void *svm, const SVM_Code code, const SVM_Address address)
This function returns whether the instruction at a given address of a given SVM code has the waiting ...
SVM_FUNCTION SVM_String svm_code_instruction_get_location(const void *svm, const SVM_Code code, const SVM_Address address)
This function returns the text of the location of the instruction at a given address of a given SVM c...
SVM_FUNCTION SVM_String svm_code_get_name(const void *svm, const SVM_Code code)
This function extracts the code name from the SVM code.
SVM_FUNCTION SVM_String svm_code_get_source(const void *svm, const SVM_Code code)
This function extracts the code source from the SVM code.
SVM_FUNCTION SVM_String svm_code_print(const void *svm, const SVM_Code code)
This function renders a textual representation of a SVM code.
SVM_FUNCTION const char * svm_api_get_signature()
This function helps the SVM to check the compatibility of a given plugin to its own API.
SVM_FUNCTION void svm_plugin_configure(void *plugin_handler, const char *plugin_configuration, const char api_signature[], const char svm_version[])
This function configures a plugin to the virtual machine.
SVM_FUNCTION void svm_debug_synchronise(const void *svm, const SVM_Value value)
This function allows explicit synchronisation of a value in the debugger.
SVM_FUNCTION void svm_debug_notify(const void *svm, const SVM_Kernel kernel, const SVM_Value_String message)
This function is a plugin notification to the debugger with a message from a string value.
SVM_FUNCTION void svm_debug_notify__raw(const void *svm, const SVM_Kernel kernel, const char *message)
This function is a plugin notification to the debugger with a message from a C nul-terminated string.
SVM_FUNCTION void svm_debug_break__string(const void *svm, const SVM_Kernel kernel, const SVM_String message)
This function is a plugin breakpoint with a message from a SVM_String.
SVM_FUNCTION void svm_debug_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_String message)
This function is a plugin breakpoint with a message from a string value.
SVM_FUNCTION void svm_debug_break__raw(const void *svm, const SVM_Kernel kernel, const char *message)
This function is a plugin breakpoint with a message from a C nul-terminated string.
SVM_FUNCTION void svm_debug_notify__string(const void *svm, const SVM_Kernel kernel, const SVM_String message)
This function is a plugin notification to the debugger with a message from a SVM_String.
SVM_FUNCTION void svm_debug_form_append_selection(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Size size, const SVM_Value *values)
This function appends to a debugger form a list of selection field.
SVM_FUNCTION SVM_Debug_Form svm_debug_form_new(const void *svm, const char *title)
This function creates a debugger form.
SVM_FUNCTION void svm_debug_form_append_string__string(const void *svm, SVM_Debug_Form form, const char *label, const SVM_String default_value, const SVM_Size min_size, const SVM_Size max_size)
This function appends to a debugger form an input field accepting strings.
SVM_FUNCTION void svm_debug_form_append_checkbox__raw(const void *svm, SVM_Debug_Form form, const char *label, const int default_value)
This function appends to a debugger form a checkbox field.
SVM_FUNCTION void svm_debug_form_append_string(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_String default_value, const SVM_Size min_size, const SVM_Size max_size)
This function appends to a debugger form an input field accepting strings.
SVM_FUNCTION SVM_Value * svm_debug_form_request(const void *svm, const SVM_Debug_Form form)
This function sends the form to the debugger user interface, and waits for the form submission.
SVM_FUNCTION void svm_debug_form_append_checkbox(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_Boolean default_value)
This function appends to a debugger form a checkbox field.
SVM_FUNCTION void svm_debug_form_append_string__raw(const void *svm, SVM_Debug_Form form, const char *label, const char *default_value, const SVM_Size min_size, const SVM_Size max_size)
This function appends to a debugger form an input field accepting strings.
SVM_FUNCTION void svm_debug_form_append_integer(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_Integer default_value, const long long int min_value, const long long int max_value)
This function appends to a debugger form an input field accepting integers.
SVM_FUNCTION void svm_debug_form_append_text(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Size width, const SVM_Size height)
This function appends to a debugger form an input field accepting long multi-line strings.
SVM_FUNCTION void svm_debug_form_append_integer__raw(const void *svm, SVM_Debug_Form form, const char *label, const long long int default_value, const long long int min_value, const long long int max_value)
This function appends to a debugger form an input field accepting integers.
SVM_FUNCTION void svm_debug_breakpoint_remove_memoryfree(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function removes a breakpoint by memory delete on a memory.
SVM_FUNCTION void svm_debug_breakpoint_remove_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
This function removes a breakpoint by interruption on a processor.
SVM_FUNCTION void svm_debug_breakpoint_remove_memoryaccess(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function removes a breakpoint by memory access on a memory.
SVM_FUNCTION void svm_debug_breakpoint_remove_memoryread(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function removes a breakpoint by memory read on a memory.
SVM_FUNCTION void svm_debug_breakpoint_add_memorywrite(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function adds a breakpoint by memory write on a memory.
SVM_FUNCTION void svm_debug_breakpoint_add_memoryaccess(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function adds a breakpoint by memory access on a memory.
SVM_FUNCTION void svm_debug_breakpoint_remove_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol)
This function removes a breakpoint on a processor.
SVM_FUNCTION void svm_debug_breakpoint_add_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol)
This function adds a breakpoint on a processor.
SVM_FUNCTION void svm_debug_breakpoint_add_cascaded_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
This function adds a breakpoint by cascaded interruption on a processor.
SVM_FUNCTION void svm_debug_breakpoint_add_memoryread(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function adds a breakpoint by memory read on a memory.
SVM_FUNCTION void svm_debug_breakpoint_add_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
This function adds a breakpoint by interruption on a processor.
SVM_FUNCTION void svm_debug_breakpoint_remove_memorywrite(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function removes a breakpoint by memory write on a memory.
SVM_FUNCTION void svm_debug_breakpoint_add_memoryfree(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function adds a breakpoint by memory delete on a memory.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_lockguardread(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a lock guard in read mode.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_kernel(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a kernel.
SVM_FUNCTION SVM_Boolean svm_variable_is_valid(const void *svm, const SVM_Variable variable)
This function checks whether a variable is valid.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_accesscontrol(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains an access control.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_lock(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a lock.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_memoryzone(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a memory zone.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_code(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a SVM code.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_processlock(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a process lock.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_structure(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a structure.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_eventqueue(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains an event queue.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_parameter(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a parameter.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_scheduler(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a scheduler.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_process(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a process.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_eventqueueaddress(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains an event queue address.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_lockguardwrite(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a lock guard in write mode.
SVM_FUNCTION SVM_Boolean svm_variable_type_is_value(const void *svm, const SVM_Variable variable)
This function checks whether a variable contains a value.
SVM_FUNCTION void svm_processor_current_raise_error(const void *svm, const SVM_Value_Interruption interruption)
This function interrupts the current processor and the current instruction execution from any interru...
SVM_FUNCTION void svm_processor_current_raise_error_external__raw(const void *svm, const SVM_Value_PluginEntryPoint interruption, const char *message)
This function interrupts the current processor and the current instruction execution from a plugin de...
SVM_FUNCTION void svm_processor_current_raise_error_internal__raw(const void *svm, const SVM_Interruption_Internal interruption, const char *message)
This function interrupts the current processor and the current instruction execution from an internal...
SVM_FUNCTION SVM_Event_Queue_Address svm_event_address_new(const void *svm)
This function creates an event queue address.
SVM_FUNCTION SVM_Structure svm_event_address_get_struct(const void *svm, const SVM_Event_Queue_Address address)
This function retrieves the owner of an event queue address.
SVM_FUNCTION SVM_Event_Queue svm_event_queue_new(const void *svm)
This function creates an event queue.
SVM_FUNCTION SVM_Event_Queue_Address svm_event_address_new_struct(const void *svm, const SVM_Structure structure)
This function creates an event queue address.
SVM_FUNCTION SVM_Size svm_event_queue_get_waiting_size(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address)
This function lets an address to leave the event queue.
SVM_FUNCTION void svm_event_queue_leave(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address)
This function lets an address to leave the event queue.
SVM_FUNCTION SVM_Boolean svm_event_queue_check(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, SVM_Event_Queue_Address *origin, SVM_Structure *event, const SVM_Value_Integer timeout, const SVM_Boolean soft)
This function pulls an event on a queue from an address with a timeout in an integer value.
SVM_FUNCTION void svm_event_queue_join(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address)
This function lets an address to join the event queue.
SVM_FUNCTION void svm_event_queue_push(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, const SVM_Event_Queue_Address origin, const SVM_Structure event)
This function pushes an event on a queue from an address to another address.
SVM_FUNCTION SVM_Boolean svm_event_address_has_struct(const void *svm, const SVM_Event_Queue_Address address)
This function checks whether an event queue address has an owner.
SVM_FUNCTION SVM_Boolean svm_event_queue_check__raw(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, SVM_Event_Queue_Address *origin, SVM_Structure *event, const unsigned long int timeout, const SVM_Boolean soft)
This function pulls an event on a queue from an address with a timeout in a raw integer.
SVM_FUNCTION void svm_event_queue_broadcast(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address origin, const SVM_Structure event)
This function pushes an event on a queue from an address to all addresses.
SVM_FUNCTION SVM_Boolean svm_event_queue_pull(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address destination, SVM_Event_Queue_Address *origin, SVM_Structure *event, const SVM_Boolean soft)
This function pulls an event on a queue from an address.
SVM_FUNCTION void svm_process_interrupt(const void *svm, const SVM_Process process, const SVM_Value_Interruption interruption)
This function requests the interruption of a process.
SVM_FUNCTION void svm_process_suspend(const void *svm, const SVM_Process process)
This function requests the suspension of a process.
SVM_FUNCTION void svm_process_terminate(const void *svm, const SVM_Process process)
This function requests the terminaison of a process.
SVM_FUNCTION void svm_process_run__raw(const void *svm, const SVM_Process process, const unsigned long int delay)
This function requires the execution of a process with a delay as an raw integer.
SVM_FUNCTION void svm_process_run(const void *svm, const SVM_Process process, const SVM_Value_Integer delay)
This function requires the execution of a process with a delay as an integer value.
SVM_FUNCTION void svm_process_pause(const void *svm)
This function changes the current process status to notify it enters in a blocking wait inside an ins...
SVM_FUNCTION void svm_process_resume(const void *svm)
This function changes the current process status to notify it exits a blocking wait inside an instruc...
SVM_FUNCTION void svm_kernel_suspend(const void *svm, const SVM_Kernel kernel)
This function asks a kernel for suspension.
SVM_FUNCTION void svm_kernel_terminate(const void *svm, const SVM_Kernel kernel)
This function asks a kernel for terminaison.
SVM_FUNCTION void svm_processor_call_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol function, const SVM_Value_Pointer parameters)
This function does a global SVM code function call on a processor.
SVM_FUNCTION SVM_Value_Symbol svm_processor_get_nextinstruction(const void *svm, const SVM_Kernel kernel)
This function retrieves the address of the next instruction a processor will execute.
SVM_FUNCTION void svm_processor_call_identical(const void *svm, const SVM_Kernel kernel, const SVM_Boolean transfer)
This function does an identical SVM code function call on a processor.
SVM_FUNCTION SVM_Value_Symbol svm_processor_get_currentinstruction(const void *svm, const SVM_Kernel kernel)
This function retrieves the address of the current instruction a processor is executing.
SVM_FUNCTION void svm_processor_jump_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol)
This function does a global jump on a processor.
SVM_FUNCTION void svm_processor_call_local(const void *svm, const SVM_Kernel kernel, const SVM_Address function, const SVM_Value_Pointer parameters)
This function does a local SVM code function call on a processor.
SVM_FUNCTION void svm_processor_current_sleep(const void *svm, const SVM_Value_Integer seconds, const SVM_Value_Integer milliseconds, const SVM_Boolean soft)
This function stops the execution of the processor of the current kernel for a given time as integer ...
SVM_FUNCTION SVM_Code svm_processor_get_currentcode(const void *svm, const SVM_Kernel kernel)
This function extracts the SVM code actually executed by the processor.
SVM_FUNCTION void svm_processor_jump_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function does a local jump on a processor.
SVM_FUNCTION void svm_processor_return(const void *svm, const SVM_Kernel kernel)
This function does a SVM code function return on a processor.
SVM_FUNCTION void svm_processor_current_sleep__raw(const void *svm, const unsigned long int seconds, const unsigned long int milliseconds, const SVM_Boolean soft)
This function stops the execution of the processor of the current kernel for a given time as raw inte...
SVM_FUNCTION void svm_processor_current_shutdown(const void *svm)
This function shuts down the processor of the current kernel.
SVM_FUNCTION SVM_Boolean svm_processor_has_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag)
This function detects whether a flag is raised in a processor current state, from a SVM_String.
SVM_FUNCTION void svm_processor_set_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Object_Level level)
This function raises a flag in a processor current state, from a SVM_String.
SVM_FUNCTION void svm_processor_set_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Object_Level level)
This function raises a flag in a processor current state, from a string value.
SVM_FUNCTION void svm_processor_reset_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Object_Level level)
This function lowers a flag in a processor current state, from a SVM_String.
SVM_FUNCTION void svm_processor_reset_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Object_Level level)
This function lowers a flag in a processor current state, from a string value.
SVM_FUNCTION SVM_Value_String * svm_processor_list_flag(const void *svm, const SVM_Kernel kernel)
This function lists all raised flags in a processor current state.
SVM_FUNCTION SVM_Boolean svm_processor_has_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag)
This function detects whether a flag is raised in a processor current state, from a C nul-terminated ...
SVM_FUNCTION void svm_processor_set_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Object_Level level)
This function raises a flag in a processor current state, from a C nul-terminated string.
SVM_FUNCTION SVM_Boolean svm_processor_has_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag)
This function detects whether a flag is raised in a processor current state, from a string value.
SVM_FUNCTION void svm_processor_reset_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Object_Level level)
This function lowers a flag in a processor current state, from a C nul-terminated string.
SVM_FUNCTION SVM_String svm_function_get_prototype(const void *svm, const SVM_Value_PluginEntryPoint name)
This function returns a string representing the prototype of a plugin defined function.
SVM_FUNCTION SVM_Variable svm_function_call(const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, SVM_Parameter argv[])
This function calls a plugin defined function.
SVM_FUNCTION SVM_Kernel svm_kernel_new_symbol(const void *svm, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control, const SVM_Value_Symbol symbol)
This function creates a new kernel.
SVM_FUNCTION SVM_Kernel svm_kernel_new_code(const void *svm, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control, const SVM_Code code)
This function creates a new kernel.
SVM_FUNCTION SVM_Kernel svm_kernel_get_current(const void *svm)
This function retrieves the current kernel.
SVM_FUNCTION SVM_Process svm_kernel_get_process(const void *svm, const SVM_Kernel kernel)
This function returns the process associated to a kernel.
SVM_FUNCTION SVM_Process svm_process_new__raw(const void *svm, const char *name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Kernel kernel)
This function creates a new process from a kernel and the name from a C nul-terminated string.
SVM_FUNCTION SVM_Process svm_process_new_symbol__raw(const void *svm, const char *name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Value_Symbol symbol, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control)
This function creates a new process from specific values and the name from a C nul-terminated string.
SVM_FUNCTION SVM_Process svm_process_new_code(const void *svm, const SVM_Value_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Code code, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control)
This function creates a new process from specific values and the name from a string value.
SVM_FUNCTION SVM_Process svm_process_new_symbol__string(const void *svm, const SVM_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Value_Symbol symbol, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control)
This function creates a new process from specific values and the name from a SVM_String.
SVM_FUNCTION SVM_Process svm_process_get_current(const void *svm)
This function retrieves the current process.
SVM_FUNCTION SVM_Process svm_process_new(const void *svm, const SVM_Value_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Kernel kernel)
This function creates a new process from a kernel and the name from a string value.
SVM_FUNCTION SVM_Process svm_process_new_symbol(const void *svm, const SVM_Value_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Value_Symbol symbol, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control)
This function creates a new process from specific values and the name from a string value.
SVM_FUNCTION SVM_Process svm_process_new_code__raw(const void *svm, const char *name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Code code, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control)
This function creates a new process from specific values and the name from a C nul-terminated string.
SVM_FUNCTION SVM_Process svm_process_new_code__string(const void *svm, const SVM_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Code code, const SVM_Boolean transmit_interruptions, const SVM_Boolean last_return_is_shutdown, const SVM_Boolean protected_mode, const SVM_AccessControl access_control)
This function creates a new process from specific values and the name from a SVM_String.
SVM_FUNCTION SVM_Process svm_process_new__string(const void *svm, const SVM_String name, const SVM_Value_PluginEntryPoint sequencer, const SVM_Boolean auto_terminated, const SVM_Kernel kernel)
This function creates a new process from a kernel and the name from a SVM string.
SVM_FUNCTION SVM_Boolean svm_processor_instructionoverride_has_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol, const SVM_Object_Level level)
This function checks whether a processor has an instruction override on a symbol.
SVM_FUNCTION void svm_processor_instructionoverride_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Object_Level level)
This function sets an instruction override on a local address.
SVM_FUNCTION void svm_processor_instructionoverride_reset_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Object_Level level)
This function removes an instruction override on a local address.
SVM_FUNCTION SVM_Boolean svm_processor_instructionoverride_has_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Object_Level level)
This function checks whether a processor has an instruction override on a local address.
SVM_FUNCTION void svm_processor_instructionoverride_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Object_Level level)
This function sets an instruction override on a local address.
SVM_FUNCTION void svm_processor_instructionoverride_reset_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol, const SVM_Object_Level level)
This function removes an instruction override on a symbol.
SVM_FUNCTION SVM_Value_Integer svm_value_integer_new_null(const void *svm)
This function creates an integer value the SVM can store in its memories without a value.
SVM_FUNCTION long long int svm_value_integer_get(const void *svm, const SVM_Value_Integer integer)
This function extracts the raw integer contained in an integer value.
SVM_FUNCTION SVM_Value_Integer svm_value_integer_new(const void *svm, const long int integer)
This function creates an integer value the SVM can store in its memories from a raw integer.
SVM_FUNCTION SVM_Boolean svm_value_type_is_integer(const void *svm, const SVM_Value value)
This function checks whether a value contains an integer.
SVM_FUNCTION void svm_value_integer_set(const void *svm, SVM_Value_Integer value, const long long int integer)
This function replaces the raw integer contained in an integer value from a raw integer.
SVM_FUNCTION void svm_processor_hold_interruption(const void *svm, const SVM_Kernel kernel)
This function disables waiting interruptions handling of a processor.
SVM_FUNCTION void svm_processor_set_currentinterruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
This function modifies the current interruption of a processor.
SVM_FUNCTION void svm_processor_interruptionhandler_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Value_Symbol symbol, const SVM_Object_Level level)
This function sets a global interruption handler on a processor.
SVM_FUNCTION SVM_Boolean svm_processor_is_hardwareinterrupted(const void *svm, const SVM_Kernel kernel)
This function detects whether an hardware interruption has been received by a processor.
SVM_FUNCTION SVM_Value_Symbol svm_processor_interruptionhandler_get(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Object_Level level)
This function extracts an interruption handler from a processor.
SVM_FUNCTION void svm_processor_add_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
This function interrupts a processor.
SVM_FUNCTION void svm_processor_clear_interruption(const void *svm, const SVM_Kernel kernel)
This function clears waiting interruptions of a processor.
SVM_FUNCTION SVM_Boolean svm_processor_interruptionhandler_has(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Object_Level level)
This function checks whether an interruption handler exists in a processor.
SVM_FUNCTION SVM_Value_Interruption * svm_processor_list_interruption(const void *svm, const SVM_Kernel kernel)
This function retrieves waiting interruptions of a processor.
SVM_FUNCTION void svm_processor_interruptionhandler_reset(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Object_Level level)
This function removes an interruption handler from a processor.
SVM_FUNCTION void svm_processor_release_interruption(const void *svm, const SVM_Kernel kernel)
This function enables waiting interruptions handling of a processor.
SVM_FUNCTION void svm_processor_interruptionhandler_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Address address, const SVM_Object_Level level)
This function sets a local interruption handler on a processor.
SVM_FUNCTION SVM_Value_Interruption svm_processor_get_currentinterruption(const void *svm, const SVM_Kernel kernel)
This function extracts the current interruption of a processor.
SVM_FUNCTION void svm_value_interruption_set_external(const void *svm, SVM_Value_Interruption value, const SVM_Value_PluginEntryPoint name, const SVM_Value_String message)
This function replaces the interruption name and the message contained in an interruption value from ...
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_external__string(const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_String message)
This function creates an interruption the SVM can store in its memories from a plugin entry point and...
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_internal__string(const void *svm, const SVM_Interruption_Internal interruption, const SVM_String message, const SVM_Interruption_Kind kind)
This function creates an interruption the SVM can store in its memories from an interruption type and...
SVM_FUNCTION SVM_Boolean svm_value_type_is_interruption(const void *svm, const SVM_Value value)
This function checks whether a value contains an interruption.
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_internal__raw(const void *svm, const SVM_Interruption_Internal interruption, const char *message, const SVM_Interruption_Kind kind)
This function creates an interruption the SVM can store in its memories from an interruption type and...
SVM_FUNCTION void svm_value_interruption_set_internal(const void *svm, SVM_Value_Interruption value, const SVM_Interruption_Internal type, const SVM_Value_String message, const SVM_Interruption_Kind kind)
This function replaces the interruption type, the message and the kind of interruption contained in a...
SVM_FUNCTION SVM_Boolean svm_value_interruption_is_internal(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption type contained in an interruption value.
SVM_FUNCTION void svm_value_interruption_set(const void *svm, SVM_Value_Interruption value, const SVM_Value_Interruption interruption)
This function replaces the interruption value by another interruption value.
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_external__raw(const void *svm, const SVM_Value_PluginEntryPoint name, const char *message)
This function creates an interruption the SVM can store in its memories from a plugin entry point and...
SVM_FUNCTION SVM_String svm_value_interruption_get_message(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption message contained in an interruption value.
SVM_FUNCTION void svm_value_interruption_set_internal__raw(const void *svm, SVM_Value_Interruption value, const SVM_Interruption_Internal type, const char *message, const SVM_Interruption_Kind kind)
This function replaces the interruption type, the message and the kind of interruption contained in a...
SVM_FUNCTION SVM_Interruption_Kind svm_value_interruption_get_kind(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption kind contained in an interruption value.
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_null(const void *svm)
This function creates an interruption value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_interruption_get_external(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption extension name contained in an interruption value.
SVM_FUNCTION void svm_value_interruption_set_internal__string(const void *svm, SVM_Value_Interruption value, const SVM_Interruption_Internal type, const SVM_String message, const SVM_Interruption_Kind kind)
This function replaces the interruption type, the message and the kind of interruption contained in a...
SVM_FUNCTION SVM_Boolean svm_value_interruption_is_external(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption extension name contained in an interruption value.
SVM_FUNCTION void svm_value_interruption_set_external__string(const void *svm, SVM_Value_Interruption value, const SVM_Value_PluginEntryPoint name, const SVM_String message)
This function replaces the interruption name and the message contained in an interruption value from ...
SVM_FUNCTION SVM_String svm_value_interruption_get_location(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption location contained in an interruption value.
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_internal(const void *svm, const SVM_Interruption_Internal interruption, const SVM_Value_String message, const SVM_Interruption_Kind kind)
This function creates an interruption the SVM can store in its memories from an interruption type and...
SVM_FUNCTION void svm_value_interruption_set_external__raw(const void *svm, SVM_Value_Interruption value, const SVM_Value_PluginEntryPoint name, const char *message)
This function replaces the interruption name and the message contained in an interruption value from ...
SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_external(const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_Value_String message)
This function creates an interruption the SVM can store in its memories from a plugin entry point and...
SVM_FUNCTION SVM_Interruption_Internal svm_value_interruption_get_internal(const void *svm, const SVM_Value_Interruption interruption)
This function extracts the interruption type contained in an interruption value.
SVM_FUNCTION SVM_Boolean svm_process_kernel_detach(const void *svm, SVM_Process process, const SVM_Kernel kernel, const SVM_Size argc, SVM_Parameter argv[])
This function detaches a kernel from a process.
SVM_FUNCTION SVM_Boolean svm_process_kernel_attach(const void *svm, SVM_Process process, const SVM_Kernel kernel, const SVM_Size argc, SVM_Parameter argv[])
This function attaches a kernel to a process.
SVM_FUNCTION SVM_Kernel svm_process_kernel_get_current(const void *svm, const SVM_Process process)
This function retrieves the kernel currently executed on a process.
SVM_FUNCTION SVM_Boolean svm_parameter_type_is_keyword(const void *svm, const SVM_Parameter parameter)
This function checks whether a parameter contains a keyword.
SVM_FUNCTION SVM_String svm_parameter_keyword_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a keyword.
SVM_FUNCTION SVM_Parameter svm_parameter_keyword_new(const void *svm, const SVM_String keyword)
This function creates a parameter from a keyword string.
SVM_FUNCTION SVM_Parameter svm_parameter_keyword_new__raw(const void *svm, const char *keyword)
This function creates a parameter from a keyword string.
SVM_FUNCTION SVM_Boolean svm_code_label_has_address(const void *svm, const SVM_Code code, const SVM_Value_String label)
This function checks whether a SVM code defines a label given as a string value.
SVM_FUNCTION SVM_Boolean svm_code_label_has_address__string(const void *svm, const SVM_Code code, const SVM_String label)
This function checks whether a SVM code defines a label given as a SVM_String.
SVM_FUNCTION SVM_Address svm_code_label_get_address__string(const void *svm, const SVM_Code code, const SVM_String label)
This function solves a label in a SVM code given as a SVM_String.
SVM_FUNCTION SVM_Value_String * svm_code_label_list(const void *svm, const SVM_Code code)
This function returns all labels defined in a SVM code.
SVM_FUNCTION SVM_Boolean svm_code_label_has_address__raw(const void *svm, const SVM_Code code, const char *label)
This function checks whether a SVM code defines a label given as a C nul-terminated string.
SVM_FUNCTION SVM_Address svm_code_label_get_address(const void *svm, const SVM_Code code, const SVM_Value_String label)
This function solves a label in a SVM code given as a string value.
SVM_FUNCTION SVM_Address svm_code_label_get_address__raw(const void *svm, const SVM_Code code, const char *label)
This function solves a label in a SVM code given as a C nul-terminated string.
SVM_FUNCTION void svm_value_library_set(const void *svm, SVM_Value_Library value, const SVM_Value_Library library)
This function replaces the library value by another library value.
SVM_FUNCTION SVM_Value_Library svm_value_library_new(const void *svm, const SVM_Code code)
This function creates a library value the SVM can store in its memories from a SVM_Code.
SVM_FUNCTION SVM_Code svm_value_library_get_code(const void *svm, const SVM_Value_Library library)
This function extracts the code contained in a library value.
SVM_FUNCTION void svm_value_library_set_code(const void *svm, SVM_Value_Library value, const SVM_Code code)
This function replaces the code contained in a library value from a SVM_Code.
SVM_FUNCTION SVM_Value_Library svm_value_library_new_null(const void *svm)
This function creates a library value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Boolean svm_value_type_is_library(const void *svm, const SVM_Value value)
This function checks whether a value contains a library.
SVM_FUNCTION SVM_LockGuard_Write svm_lock_writeguard_new(const void *svm, const SVM_Lock lock, const SVM_Boolean soft)
This function locks a lock for write access.
SVM_FUNCTION SVM_LockGuard_Read svm_lock_readguard_new(const void *svm, const SVM_Lock lock, const SVM_Boolean soft)
This function locks a lock for read access.
SVM_FUNCTION SVM_Lock svm_lock_new(const void *svm)
This function creates a lock.
SVM_FUNCTION SVM_Lock svm_lock_readguard_get_lock(const void *svm, const SVM_LockGuard_Read readguard)
This function returns the lock behind a read access guard.
SVM_FUNCTION SVM_Lock svm_lock_writeguard_get_lock(const void *svm, const SVM_LockGuard_Write writeguard)
This function returns the lock behind a write access guard.
SVM_FUNCTION SVM_Boolean svm_machine_mode_is_debug(const void *svm)
This function indicates when the virtual machine is executed in debug mode.
SVM_FUNCTION SVM_String svm_machine_config(const void *svm, const char *key)
This function returns a value from the virtual machine installation.
SVM_FUNCTION void svm_machine_trace__string(const void *svm, const SVM_String trace)
This function emits an error trace on the logger from a string.
SVM_FUNCTION SVM_Value_Interruption * svm_machine_list_interruption(const void *svm)
This function returns the list of available interruptions.
SVM_FUNCTION void svm_machine_shutdown(const void *svm, const SVM_Value_Integer return_code)
This function shuts down the whole machine, with a return code as an integer value.
SVM_FUNCTION void svm_machine_shutdown__raw(const void *svm, const unsigned long int return_code)
This function shuts down the whole machine, with a return code as a raw integer.
SVM_FUNCTION SVM_Boolean svm_machine_mode_is_performance(const void *svm)
This function indicates when the virtual machine is executed in performance mode.
SVM_FUNCTION void svm_machine_trace__raw(const void *svm, const char *trace)
This function emits an error trace on the logger from a raw C string.
SVM_FUNCTION void svm_machine_trace(const void *svm, const SVM_Value_String trace)
This function emits an error trace on the logger from a string value.
SVM_FUNCTION SVM_Index svm_parameter_marker_find(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start, const SVM_String marker)
This function looks up for a specific marker in a parameter array.
SVM_FUNCTION SVM_Index svm_parameter_marker_find_closing(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index opening)
This function looks up for the closing marker corresponding to an opening separator in a parameter ar...
SVM_FUNCTION SVM_String svm_parameter_marker_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a marker.
SVM_FUNCTION SVM_Boolean svm_parameter_type_is_marker(const void *svm, const SVM_Parameter parameter)
This function checks whether a parameter contains a marker.
SVM_FUNCTION SVM_Index svm_parameter_marker_find_separator(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start)
This function looks up the next separator marker in a parameter array.
SVM_FUNCTION SVM_Parameter svm_parameter_marker_new__raw(const void *svm, const char *marker)
This function creates a parameter from a marker string.
SVM_FUNCTION SVM_Index svm_parameter_marker_find__raw(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start, const char *marker)
This function looks up for a specific marker in a parameter array.
SVM_FUNCTION SVM_Parameter svm_parameter_marker_new(const void *svm, const SVM_String marker)
This function creates a parameter from a marker string.
SVM_FUNCTION SVM_Value_Pointer svm_memory_get_space(const void *svm)
This function returns a pointer representing all address space.
SVM_FUNCTION SVM_Value_Pointer * svm_memory_get_defined(const void *svm, const SVM_Kernel kernel)
This function returns pointers on all defined blocks in memory.
SVM_FUNCTION void svm_memory_scope_set_local_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias)
This function changes the scope of a memory alias from a SVM_String.
SVM_FUNCTION void svm_memory_scope_set_local_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias)
This function changes the scope of a memory alias from a C nul-terminated string.
SVM_FUNCTION void svm_memory_scope_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function changes the scope of a memory zone.
SVM_FUNCTION void svm_memory_scope_set_global_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias)
This function changes the scope of a memory alias from a C nul-terminated string.
SVM_FUNCTION void svm_memory_scope_set_local_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias)
This function changes the scope of a memory alias from a string value.
SVM_FUNCTION void svm_memory_scope_set_global_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias)
This function changes the scope of a memory alias from a string value.
SVM_FUNCTION void svm_memory_scope_set_global_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias)
This function changes the scope of a memory alias from a SVM_String.
SVM_FUNCTION void svm_memory_scope_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function changes the scope of a memory zone.
SVM_FUNCTION void svm_processor_set_currentpointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function modifies the current memory pointer of a processor.
SVM_FUNCTION SVM_Value_Pointer svm_processor_get_currentpointer(const void *svm, const SVM_Kernel kernel)
This function extracts the current memory pointer of a processor.
SVM_FUNCTION SVM_Type svm_memory_zone_get_type(const void *svm, const SVM_Memory_Zone zone, const SVM_Index index)
This function returns one memory zone element.
SVM_FUNCTION SVM_Size svm_memory_zone_get_size(const void *svm, const SVM_Memory_Zone zone)
This function returns the memory zone size.
SVM_FUNCTION SVM_Index svm_memory_zone_find_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Memory_Zone find)
This function finds a memory zone inside a memory zone.
SVM_FUNCTION void svm_memory_zone_append(const void *svm, SVM_Memory_Zone zone, const SVM_Type type, const SVM_Value_Integer times)
This function appends an array of types of length given as integer value.
SVM_FUNCTION void svm_memory_zone_remove_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Size size)
This function remove a part within a memory zone.
SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_new(const void *svm)
This function creates an empty memory zone description.
SVM_FUNCTION void svm_memory_zone_append_external(const void *svm, SVM_Memory_Zone zone, const SVM_Value_PluginEntryPoint type, const SVM_Value_Integer times)
This function appends an array of plugin types of length given as integer value.
SVM_FUNCTION void svm_memory_zone_append_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Memory_Zone append)
This function appends a memory zone to a memory zone.
SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_get(const void *svm, const SVM_Size size, const SVM_Value *values)
This function extracts a memory zone from an array of values.
SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_get__raw(const void *svm, const SVM_Value *values)
This function extracts a memory zone from an array of values.
SVM_FUNCTION void svm_memory_zone_insert_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Memory_Zone insert)
This function inserts a memory zone into a memory zone.
SVM_FUNCTION void svm_memory_zone_append_internal(const void *svm, SVM_Memory_Zone zone, const SVM_Type_Internal type, const SVM_Value_Integer times)
This function appends an array of internal types of length given as integer value.
SVM_FUNCTION void svm_memory_zone_append_internal__raw(const void *svm, SVM_Memory_Zone zone, const SVM_Type_Internal type, const SVM_Size times)
This function appends an array of internal types of length given as raw integer.
SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_copy(const void *svm, const SVM_Memory_Zone zone)
This function creates a copy of a memory zone.
SVM_FUNCTION SVM_String svm_memory_zone_print(const void *svm, const SVM_Memory_Zone zone)
This function creates a string representation of a memory zone.
SVM_FUNCTION void svm_memory_zone_replace_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Memory_Zone replace)
This function replace a memory zone inside a memory zone.
SVM_FUNCTION void svm_memory_zone_append_external__raw(const void *svm, SVM_Memory_Zone zone, const SVM_Value_PluginEntryPoint type, const SVM_Size times)
This function appends an array of plugin types of length given as raw integer.
SVM_FUNCTION void svm_memory_zone_append__raw(const void *svm, SVM_Memory_Zone zone, const SVM_Type type, const SVM_Size times)
This function appends an array of types of length given as integer value.
SVM_FUNCTION void svm_process_interruptionnotification_disable(const void *svm, const SVM_Process process)
This function changes the process behavior on interruption event.
SVM_FUNCTION void svm_process_interruptionnotification_wait(const void *svm)
This function waits until the current process receives an interruption notification.
SVM_FUNCTION void svm_process_interruptionnotification_send(const void *svm, const SVM_Process process)
This function sends an interruption notification to a process.
SVM_FUNCTION void svm_process_interruptionnotification_enable(const void *svm, const SVM_Process process)
This function changes the process behavior on interruption event.
SVM_FUNCTION void svm_kernel_swap_memory(const void *svm, SVM_Kernel kernel1, SVM_Kernel kernel2)
This function swaps memories of two kernels.
SVM_FUNCTION void svm_memory_copy(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer origin, const SVM_Kernel remote, const SVM_Value_Pointer target)
This function copies a memory zone to another.
SVM_FUNCTION void svm_memory_address_shift__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, signed long int shift)
This function increases or decreases an integer in a memory by a raw integer.
SVM_FUNCTION void svm_memory_translate(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer zone, const SVM_Value_Pointer origin, const SVM_Value_Pointer target)
This function translates pointers within a memory zone.
SVM_FUNCTION void svm_memory_share(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer origin, const SVM_Kernel remote, const SVM_Value_Pointer target)
This function shares a memory zone to another.
SVM_FUNCTION void svm_memory_address_shift(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value_Integer shift)
This function increases or decreases an integer in a memory by an integer value.
SVM_FUNCTION void svm_memory_move(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer origin, const SVM_Kernel remote, const SVM_Value_Pointer target)
This function moves a memory zone to another.
SVM_FUNCTION SVM_Process_Lock svm_process_ownership_lock(const void *svm, const SVM_Process process)
This function locks a process from the current process.
SVM_FUNCTION SVM_Boolean svm_process_ownership_check(const void *svm, const SVM_Process process)
This function checks whether the current process owns another process.
SVM_FUNCTION SVM_Process_Lock svm_process_ownership_lock_critical(const void *svm)
This function locks all other processes.
SVM_FUNCTION SVM_Boolean svm_process_ownership_get_local(const void *svm, const SVM_Process process)
This function locally takes ownership over another process.
SVM_FUNCTION SVM_Parameter * svm_parameter_array_new(const void *svm, const SVM_Size argc)
This function creates an array of parameters.
SVM_FUNCTION SVM_Boolean svm_plugin_has_option(const void *svm, const SVM_Value_PluginEntryPoint option)
This function checks whether an option exists.
SVM_FUNCTION SVM_Value svm_plugin_get_option(const void *svm, const SVM_Value_PluginEntryPoint option)
This function returns the value associated to an option.
SVM_FUNCTION SVM_Value * svm_plugin_get_arguments(const void *svm, const SVM_Value_PluginEntryPoint arguments)
This function returns the values array associated to an extra arguments array.
SVM_FUNCTION SVM_Value svm_plugin_get_argument(const void *svm, const SVM_Value_PluginEntryPoint argument)
This function returns the value associated to an argument.
SVM_FUNCTION SVM_Boolean svm_plugin_has_arguments(const void *svm, const SVM_Value_PluginEntryPoint arguments)
This function checks whether an extra argument array exists.
SVM_FUNCTION SVM_Boolean svm_plugin_has_argument(const void *svm, const SVM_Value_PluginEntryPoint argument)
This function checks whether an argument exists.
SVM_FUNCTION SVM_String svm_value_pluginentrypoint_get_plugin(const void *svm, const SVM_Value_PluginEntryPoint pep)
This function extracts the plugin name contained in a plugin entry point value.
SVM_FUNCTION void svm_value_pluginentrypoint_set_pluginentry(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String plugin_name, const SVM_Value_String entry_name, const char *prefix)
This function replaces the plugin name and the entry name contained in a plugin entry point value fro...
SVM_FUNCTION void svm_value_pluginentrypoint_set_entry__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *entry_name, const char *prefix)
This function replaces the entry name contained in a plugin entry point value from two C nul-terminat...
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new__string(const void *svm, const SVM_String plugin_name, const SVM_String entry_name)
This function creates a plugin entry point value the SVM can store in its memories from two SVM_Strin...
SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *plugin_name)
This function replaces the plugin name contained in a plugin entry point value from a C nul-terminate...
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new_prefix(const void *svm, const SVM_Value_PluginEntryPoint pep, const char *prefix)
This function creates a plugin entry point value the SVM can store in its memories from a plugin entr...
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new(const void *svm, const SVM_Value_String plugin_name, const SVM_Value_String entry_name)
This function creates a plugin entry point value the SVM can store in its memories from two string va...
SVM_FUNCTION void svm_value_pluginentrypoint_set_entry(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String entry_name, const char *prefix)
This function replaces the entry name contained in a plugin entry point value from a string value and...
SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String plugin_name)
This function replaces the plugin name contained in a plugin entry point value from a SVM_String.
SVM_FUNCTION void svm_value_pluginentrypoint_set_entry__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String entry_name, const char *prefix)
This function replaces the entry name contained in a plugin entry point value from a SVM_String and a...
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new_null(const void *svm)
This function creates a plugin entry point value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Boolean svm_value_type_is_pluginentrypoint(const void *svm, const SVM_Value value)
This function checks whether a value contains a plugin entry point.
SVM_FUNCTION void svm_value_pluginentrypoint_set_pluginentry__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *plugin_name, const char *entry_name, const char *prefix)
This function replaces the plugin name and the entry name contained in a plugin entry point value fro...
SVM_FUNCTION void svm_value_pluginentrypoint_set(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_PluginEntryPoint pluginentrypoint)
This function replaces the pluginentrypoint value by another pluginentrypoint value.
SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String plugin_name)
This function replaces the plugin name contained in a plugin entry point value from a string value.
SVM_FUNCTION void svm_value_pluginentrypoint_set_pluginentry__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String plugin_name, const SVM_String entry_name, const char *prefix)
This function replaces the plugin name and the entry name contained in a plugin entry point value fro...
SVM_FUNCTION SVM_String svm_value_pluginentrypoint_get_entry(const void *svm, const SVM_Value_PluginEntryPoint pep)
This function extracts the entry name contained in a plugin entry point value.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new__raw(const void *svm, const char *plugin_name, const char *entry_name)
This function creates a plugin entry point value the SVM can store in its memories from two C nul-ter...
SVM_FUNCTION SVM_Status_Boolean svm_plugin_has_function_details(const void *svm, const SVM_Value_PluginEntryPoint function, const SVM_Size argc, const SVM_Parameter argv[], SVM_Parameter result)
This function checks whether a call to a function is possible, and provide details on failure.
SVM_FUNCTION SVM_Boolean svm_plugin_has_instruction(const void *svm, const SVM_Value_PluginEntryPoint instruction, const SVM_Size argc, const SVM_Parameter argv[], SVM_Parameter result)
This function checks whether a call to an instruction is possible.
SVM_FUNCTION SVM_Boolean svm_plugin_has_function(const void *svm, const SVM_Value_PluginEntryPoint function, const SVM_Size argc, const SVM_Parameter argv[], SVM_Parameter result)
This function checks whether a call to a function is possible.
SVM_FUNCTION SVM_Boolean svm_plugin_has_scheduler(const void *svm, const SVM_Value_PluginEntryPoint scheduler)
This function checks whether a scheduler exists.
SVM_FUNCTION SVM_Boolean svm_plugin_has_sequencer(const void *svm, const SVM_Value_PluginEntryPoint sequencer)
This function checks whether a sequencer exists.
SVM_FUNCTION SVM_Boolean svm_plugin_has_type(const void *svm, const SVM_Value_PluginEntryPoint type)
This function checks whether a type exists.
SVM_FUNCTION SVM_Boolean svm_plugin_has_structure(const void *svm, const SVM_Value_PluginEntryPoint structure)
This function checks whether a structure exists.
SVM_FUNCTION SVM_Boolean svm_plugin_has_interruption(const void *svm, const SVM_Value_PluginEntryPoint interruption)
This function checks whether an interruption exists.
SVM_FUNCTION SVM_String svm_plugin_print(const void *svm)
This function extracts a string representation of all defined objects in plugins.
SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_const__raw(const void *svm, const SVM_Value_PluginEntryPoint type, const char *value)
This function creates a plugin defined value the SVM can store in its memories from a plugin entry po...
SVM_FUNCTION void svm_value_plugin_set(const void *svm, SVM_Value_Plugin value, const SVM_Value_Plugin plugin)
This function replaces the plugin value by another plugin value.
SVM_FUNCTION void svm_value_plugin_set_internal(const void *svm, SVM_Value_Plugin value, const SVM_Value_PluginEntryPoint type, void *internal_value)
This function replaces the type and the value contained in a plugin value from specific values.
SVM_FUNCTION SVM_Boolean svm_value_type_is_plugin(const void *svm, const SVM_Value value, const SVM_Value_PluginEntryPoint type)
This function checks whether a value contains a plugin value of a given type.
SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new(const void *svm, const SVM_Value_PluginEntryPoint type, void *value)
This function creates a plugin defined value the SVM can store in its memories from a plugin entry po...
SVM_FUNCTION void * svm_value_plugin_get_internal(const void *svm, const SVM_Value_Plugin plugin)
This function extracts the plugin value contained in a plugin value.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_plugin_get_type(const void *svm, const SVM_Value_Plugin plugin)
This function extracts the plugin value type contained in a plugin value.
SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_null(const void *svm, const SVM_Value_PluginEntryPoint type)
This function creates a plugin value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_const(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_Value_String value)
This function creates a plugin defined value the SVM can store in its memories from a plugin entry po...
SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_const__string(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_String value)
This function creates a plugin defined value the SVM can store in its memories from a plugin entry po...
SVM_FUNCTION SVM_Value_Plugin_Comparison svm_value_plugin_compare_convert(const void *svm, const SVM_Comparison_Result compare)
This function transforms a SVM_Comparison_Result into a SVM_Value_Plugin_Comparison.
SVM_FUNCTION void svm_memory_pointer_set_zone(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Memory_Zone zone)
This function changes the memory under the pointer to the types of the zone.
SVM_FUNCTION SVM_Value_String * svm_memory_pointer_list_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function extracts all alias having their pointer within a memory zone.
SVM_FUNCTION SVM_Value_String * svm_memory_pointer_expand_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function extracts all alias having their pointer intersecting with a memory zone.
SVM_FUNCTION SVM_Value_Pointer * svm_memory_pointer_list_accessible(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function extracts all memory zones recursively accessible from a pointer in a memory.
SVM_FUNCTION SVM_Boolean svm_memory_pointer_has_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function checks whether an alias pointer has an intersection with a memory zone.
SVM_FUNCTION SVM_Memory_Zone svm_memory_pointer_get_zone(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function creates a memory zone corresponding to the pointer.
SVM_FUNCTION SVM_Value_Pointer svm_value_pointer_new(const void *svm, const SVM_Value_Integer address, const SVM_Value_Integer size)
This function creates a pointer value the SVM can store in its memories from two integer values.
SVM_FUNCTION SVM_Size svm_value_pointer_get_size(const void *svm, const SVM_Value_Pointer pointer)
This function extracts the pointer size contained in a pointer value.
SVM_FUNCTION void svm_value_pointer_set(const void *svm, SVM_Value_Pointer value, const SVM_Value_Pointer pointer)
This function replaces the pointer value by another pointer value.
SVM_FUNCTION void svm_value_pointer_set_size__raw(const void *svm, SVM_Value_Pointer value, const SVM_Size size)
This function replaces the size contained in a pointer value from a raw value.
SVM_FUNCTION SVM_Address svm_value_pointer_get_address(const void *svm, const SVM_Value_Pointer pointer)
This function extracts the first pointer address contained in a pointer value.
SVM_FUNCTION SVM_Value_Pointer svm_value_pointer_new_null(const void *svm)
This function creates a pointer value the SVM can store in its memories without a value.
SVM_FUNCTION void svm_value_pointer_set_addresssize__raw(const void *svm, SVM_Value_Pointer value, const SVM_Address address, const SVM_Size size)
This function replaces the first address and the size contained in a pointer value from two raw value...
SVM_FUNCTION void svm_value_pointer_set_address__raw(const void *svm, SVM_Value_Pointer value, const SVM_Address address)
This function replaces the first address contained in a pointer value from a raw value.
SVM_FUNCTION void svm_value_pointer_set_addresssize(const void *svm, SVM_Value_Pointer value, const SVM_Value_Integer address, const SVM_Value_Integer size)
This function replaces the first address and the size contained in a pointer value from two integer v...
SVM_FUNCTION SVM_Boolean svm_value_type_is_pointer(const void *svm, const SVM_Value value)
This function checks whether a value contains a pointer.
SVM_FUNCTION SVM_Value_Pointer svm_value_pointer_new__raw(const void *svm, const SVM_Address address, const SVM_Size size)
This function creates a pointer value the SVM can store in its memories from two raw integers.
SVM_FUNCTION void svm_value_pointer_set_address(const void *svm, SVM_Value_Pointer value, const SVM_Value_Integer address)
This function replaces the first address contained in a pointer value from an integer value.
SVM_FUNCTION void svm_value_pointer_set_size(const void *svm, SVM_Value_Pointer value, const SVM_Value_Integer size)
This function replaces the size contained in a pointer value from an integer value.
SVM_FUNCTION SVM_Value * svm_memory_extract_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size)
This function reads an array of values from a memory.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_zone(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Memory_Zone zone)
This function reads an array of values from a memory with detailed type checking.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_type__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Type type)
This function reads an array of values from a memory with unique type checking.
SVM_FUNCTION SVM_Value * svm_memory_extract_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function extracts an array of values from a memory.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_type_external(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Value_PluginEntryPoint type)
This function reads an array of values from a memory with unique type checking against an external ty...
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_type(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Type type)
This function reads an array of values from a memory with unique type checking.
SVM_FUNCTION SVM_Value svm_memory_read_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function reads a value from a memory.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_type_external__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Value_PluginEntryPoint type)
This function reads an array of values from a memory with unique type checking against an external ty...
SVM_FUNCTION SVM_Value svm_memory_read_address_type_external(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value_PluginEntryPoint type)
This function reads a value from a memory having a given plugin type.
SVM_FUNCTION SVM_Value svm_memory_read_address_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type type)
This function reads a value from a memory having a given type.
SVM_FUNCTION SVM_Value svm_memory_extract_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address)
This function extracts a value from a memory.
SVM_FUNCTION SVM_Value svm_memory_read_address_type_internal(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type_Internal type)
This function reads a value from a memory having a given internal type.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_type_internal__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Type_Internal type)
This function reads an array of values from a memory with unique type checking against an internal ty...
SVM_FUNCTION SVM_Value * svm_memory_read_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size)
This function reads an array of values from a memory.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_zone__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Memory_Zone zone)
This function reads an array of values from a memory with detailed type checking.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function reads an array of values from a memory.
SVM_FUNCTION SVM_Value * svm_memory_read_pointer_type_internal(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Type_Internal type)
This function reads an array of values from a memory with unique type checking against an internal ty...
SVM_FUNCTION void svm_processor_returnstack_move_level(const void *svm, const SVM_Kernel kernel, const SVM_Index start, const SVM_Index end, const SVM_Index target)
This function moves a portion of the return stack to another level.
SVM_FUNCTION SVM_Index svm_processor_returnstack_find_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Index start)
This function returns the level of the nearest frame having the flag raised within the return stack o...
SVM_FUNCTION SVM_Size svm_processor_returnstack_get_size(const void *svm, const SVM_Kernel kernel)
This function retrieves the return stack size of a processor.
SVM_FUNCTION SVM_Index svm_processor_returnstack_find_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Index start)
This function returns the level of the nearest frame having the flag raised within the return stack o...
SVM_FUNCTION void svm_processor_returnstack_swap_level(const void *svm, const SVM_Kernel kernel, const SVM_Index level)
This function swaps a state in the return stack of a processor with the current state of this process...
SVM_FUNCTION SVM_Index svm_processor_returnstack_find_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Index start)
This function returns the level of the nearest frame having the flag raised within the return stack o...
SVM_FUNCTION SVM_Boolean svm_process_has_scheduler(const void *svm, const SVM_Process process)
This function checks whether a process is attached to a scheduler.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_process_get_scheduler(const void *svm, const SVM_Process process)
This function returns the name of the scheduler of a process.
SVM_FUNCTION SVM_String svm_scheduler_print(const void *svm, const SVM_Scheduler scheduler)
This function returns a string representation of the state of a scheduler.
SVM_FUNCTION SVM_Boolean svm_scheduler_notify(const void *svm, const SVM_Scheduler scheduler, const SVM_Size argc, const SVM_Parameter argv[])
This function sends a notification to a scheduler with an integer value parameter.
SVM_FUNCTION SVM_Scheduler svm_scheduler_get_current(const void *svm)
This function retrieves the current scheduler.
SVM_FUNCTION SVM_Boolean svm_scheduler_process_detach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Size argc, const SVM_Parameter argv[])
This function detaches a process from a scheduler with an integer value parameter.
SVM_FUNCTION SVM_Boolean svm_scheduler_process_attach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Size argc, const SVM_Parameter argv[])
This function attaches a process to a scheduler with an integer value parameter.
SVM_FUNCTION SVM_Scheduler svm_scheduler_get(const void *svm, const SVM_Value_PluginEntryPoint name)
This function retrieves a scheduler from its name.
SVM_FUNCTION void * svm_scheduler_get_internal(const void *svm, const SVM_Scheduler scheduler)
This function extracts the internal structure of a scheduler.
SVM_FUNCTION void svm_variable_scope_set_local(const void *svm, const SVM_Variable variable)
This function alters the scope of the given variable.
SVM_FUNCTION SVM_Boolean svm_variable_scope_is_global(const void *svm, const SVM_Variable variable)
This function checks whether a variable is global.
SVM_FUNCTION SVM_Boolean svm_variable_scope_is_local(const void *svm, const SVM_Variable variable)
This function checks whether a variable is local.
SVM_FUNCTION void svm_variable_scope_set_shared(const void *svm, const SVM_Variable variable)
This function alters the scope of the given variable.
SVM_FUNCTION void svm_variable_scope_reset_shared(const void *svm, const SVM_Variable variable)
This function alters the scope of the given variable.
SVM_FUNCTION SVM_Boolean svm_variable_scope_is_shared(const void *svm, const SVM_Variable variable)
This function checks whether a variable is shared.
SVM_FUNCTION void svm_variable_scope_set_global(const void *svm, const SVM_Variable variable)
This function alters the scope of the given variable.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_process_get_sequencer(const void *svm, const SVM_Process process)
This function returns the name of the sequencer of a process.
SVM_FUNCTION SVM_String svm_process_sequencer_print(const void *svm, const SVM_Process process)
This function produces a string representation of the sequencer of a process.
SVM_FUNCTION void * svm_process_sequencer_get_internal(const void *svm, const SVM_Process process)
This function returns the internal structure pointer of the sequencer of a process.
SVM_FUNCTION SVM_String svm_kernel_get_coredump(const void *svm, const SVM_Kernel kernel)
This function returns a string representation of the complete kernel, like in core dumps.
SVM_FUNCTION SVM_Kernel_State svm_kernel_get_state(const void *svm, const SVM_Kernel kernel)
This function returns the status of the kernel.
SVM_FUNCTION void svm_kernel_set_accesscontrol(const void *svm, const SVM_Kernel kernel, const SVM_AccessControl access_control)
This function modifies the access control of a protected kernel.
SVM_FUNCTION SVM_AccessControl svm_kernel_get_accesscontrol(const void *svm, const SVM_Kernel kernel)
This function retrieves the access control of a protected kernel.
SVM_FUNCTION SVM_Boolean svm_kernel_has_lastreturnisshutdown(const void *svm, const SVM_Kernel kernel)
This function checks whether a kernel has the last_return_is_shutdown option.
SVM_FUNCTION SVM_Boolean svm_kernel_has_protectedmode(const void *svm, const SVM_Kernel kernel)
This function checks whether a kernel has the protected_mode option.
SVM_FUNCTION SVM_Value_Interruption svm_kernel_get_interruption(const void *svm, const SVM_Kernel kernel)
This function retrieves the interruption of an interrupted kernel.
SVM_FUNCTION SVM_Boolean svm_kernel_has_transmitinterruption(const void *svm, const SVM_Kernel kernel)
This function checks whether a kernel has the transmit_interruptions option.
SVM_FUNCTION SVM_Boolean svm_kernel_is_runnable(const void *svm, const SVM_Kernel kernel)
This function checks whether a kernel can be executed.
SVM_FUNCTION SVM_String svm_kernel_print(const void *svm, const SVM_Kernel kernel)
This function returns a string representation of the kernel.
SVM_FUNCTION SVM_Boolean svm_kernel_is_terminated(const void *svm, const SVM_Kernel kernel)
This function checks whether a kernel has completed its execution.
SVM_FUNCTION SVM_String svm_process_get_coredump(const void *svm, const SVM_Process process)
This function returns a string representation of the process.
SVM_FUNCTION SVM_String svm_process_get_name(const void *svm, const SVM_Process process)
This function retrieves the name of a process.
SVM_FUNCTION SVM_Value_Interruption svm_process_get_interruption(const void *svm, const SVM_Process process)
This function retrieves the interruption of an interrupted process.
SVM_FUNCTION SVM_Process_State svm_process_get_state(const void *svm, const SVM_Process process)
This function retrieves the status of a process.
SVM_FUNCTION SVM_String svm_process_print(const void *svm, const SVM_Process process)
This function returns a minimal string representation of the process state.
SVM_FUNCTION SVM_String svm_string_new(const void *svm, const char *buffer, const SVM_Size size)
This function creates an instance of a SVM_String from a memory buffer.
SVM_FUNCTION SVM_Boolean svm_string_is_equal__buffer(const void *svm, const SVM_String left, const char *buffer, const SVM_Size size)
This function compares a SVM_String to a C buffer.
SVM_FUNCTION SVM_String svm_string_new__buffer(const void *svm, const SVM_Size size)
This function creates an instance of a SVM_String uninitialised.
SVM_FUNCTION SVM_String svm_string_join__raw(const void *svm, const SVM_String first, const char *second)
This function creates an instance of a SVM_String from a SVM_String and a C nul terminated string.
SVM_FUNCTION SVM_String svm_string_copy(const void *svm, const SVM_String string)
This function creates a copy of a SVM_String.
SVM_FUNCTION SVM_String svm_string_join__buffer(const void *svm, const SVM_String first, const char *second, const SVM_Size size)
This function creates an instance of a SVM_String from a SVM_String and a memory buffer.
SVM_FUNCTION SVM_String svm_string_join(const void *svm, const SVM_String first, const SVM_String second)
This function creates an instance of a SVM_String from two SVM_String.
SVM_FUNCTION SVM_Boolean svm_string_is_equal(const void *svm, const SVM_String left, const SVM_String right)
This function compares two SVM_String.
SVM_FUNCTION SVM_String svm_string_new__raw(const void *svm, const char *string)
This function creates an instance of a SVM_String from a C string.
SVM_FUNCTION SVM_Boolean svm_string_is_equal__raw(const void *svm, const SVM_String left, const char *right)
This function compares a SVM_String to a C string.
SVM_FUNCTION SVM_String svm_value_string_get(const void *svm, const SVM_Value_String string)
This function extracts the SVM_String contained in a string value.
SVM_FUNCTION SVM_Value_String svm_value_string_new__buffer(const void *svm, const char *string, const SVM_Size size)
This function creates a string value the SVM can store in its memories from a memory buffer.
SVM_FUNCTION void svm_value_string_set(const void *svm, SVM_Value_String value, const SVM_String string)
This function replaces the raw string contained in a string value from a SVM_String.
SVM_FUNCTION SVM_Value_String svm_value_string_new__raw(const void *svm, const char *string)
This function creates a string value the SVM can store in its memories from a C nul-terminated string...
SVM_FUNCTION void svm_value_string_set__buffer(const void *svm, SVM_Value_String value, const char *string, const SVM_Size size)
This function replaces the raw string contained in a string value from a buffer.
SVM_FUNCTION SVM_Value_String svm_value_string_new(const void *svm, const SVM_String string)
This function creates a string value the SVM can store in its memories from a SVM_String.
SVM_FUNCTION SVM_Boolean svm_value_type_is_string(const void *svm, const SVM_Value value)
This function checks whether a value contains a string.
SVM_FUNCTION void svm_value_string_set__raw(const void *svm, SVM_Value_String value, const char *string)
This function replaces the raw string contained in a string value from a C null-terminated string.
SVM_FUNCTION SVM_Value_String svm_value_string_new_null(const void *svm)
This function creates a string value the SVM can store in its memories without a value.
SVM_FUNCTION SVM_Structure svm_parameter_structure_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a structure.
SVM_FUNCTION SVM_Parameter svm_parameter_structure_new(const void *svm, const SVM_Structure structure)
This function creates a parameter from a structure.
SVM_FUNCTION SVM_Boolean svm_parameter_type_is_structure(const void *svm, const SVM_Parameter parameter)
This function checks whether a parameter contains a structure.
SVM_FUNCTION SVM_Structure svm_structure_new_null(const void *svm, const SVM_Value_PluginEntryPoint type)
This function creates a new null structure handler.
SVM_FUNCTION void * svm_structure_get_internal(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_Structure structure)
This function retrieves the raw pointer of a structure.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_structure_get_type(const void *svm, const SVM_Structure structure)
This function retrieves the type name of a structure.
SVM_FUNCTION SVM_Structure svm_structure_new(const void *svm, const SVM_Value_PluginEntryPoint type, void *value)
This function creates a new structure handler to convey a raw structure pointer.
SVM_FUNCTION SVM_Structure svm_structure_copy(const void *svm, const SVM_Structure structure)
This function copies a structure.
SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address(const void *svm, const SVM_Code code, const SVM_Value_String label)
This function solves a symbol in a SVM code given as a string value.
SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address(const void *svm, const SVM_Code code, const SVM_Value_String label)
This function checks whether a SVM code defines a symbol given as a string value.
SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address__raw(const void *svm, const SVM_Code code, const char *label)
This function checks whether a SVM code defines a symbol given as a C nul-terminated string.
SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address__raw(const void *svm, const SVM_Code code, const char *label)
This function solves a symbol in a SVM code given as a C nul-terminated string.
SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address__string(const void *svm, const SVM_Code code, const SVM_String label)
This function solves a symbol in a SVM code given as a SVM_String.
SVM_FUNCTION SVM_Value_String * svm_code_symbol_list(const void *svm, const SVM_Code code)
This function returns all symbols defined in a SVM code.
SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address__string(const void *svm, const SVM_Code code, const SVM_String label)
This function checks whether a SVM code defines a symbol given as a SVM_String.
SVM_FUNCTION void svm_value_symbol_set_codeaddress(const void *svm, SVM_Value_Symbol value, const SVM_Code code, const SVM_Address address)
This function replaces the code and the address contained in a symbol value from a SVM_Code and a SVM...
SVM_FUNCTION SVM_Boolean svm_value_type_is_symbol(const void *svm, const SVM_Value value)
This function checks whether a value contains a symbol.
SVM_FUNCTION SVM_Value_Symbol svm_value_symbol_new(const void *svm, const SVM_Code code, const SVM_Address symbol)
This function creates a symbol value the SVM can store in its memories from a SVM code and an address...
SVM_FUNCTION SVM_Address svm_value_symbol_get_address(const void *svm, const SVM_Value_Symbol symbol)
This function extracts the address contained in a symbol value.
SVM_FUNCTION SVM_Value_Symbol svm_value_symbol_new_null(const void *svm)
This function creates a symbol value the SVM can store in its memories without a value.
SVM_FUNCTION void svm_value_symbol_set_address(const void *svm, SVM_Value_Symbol value, const SVM_Address address)
This function replaces the address contained in a symbol value from a SVM_Address.
SVM_FUNCTION SVM_String svm_value_symbol_get_location(const void *svm, const SVM_Value_Symbol symbol)
This function returns the location string of the instruction referenced by a symbol.
SVM_FUNCTION void svm_value_symbol_set_code(const void *svm, SVM_Value_Symbol value, const SVM_Code code)
This function replaces the code contained in a symbol value from a SVM_Code.
SVM_FUNCTION void svm_value_symbol_set(const void *svm, SVM_Value_Symbol value, const SVM_Value_Symbol symbol)
This function replaces the symbol value by another symbol value.
SVM_FUNCTION SVM_Code svm_value_symbol_get_code(const void *svm, const SVM_Value_Symbol symbol)
This function extracts the code contained in a symbol value.
SVM_FUNCTION void svm_memory_synchronisation_disable(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function disables the synchronisation on a memory zone.
SVM_FUNCTION void svm_memory_synchronisation_enable(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer)
This function enables the synchronisation on a memory zone.
SVM_FUNCTION SVM_Value_PluginEntryPoint svm_type_get_external(const void *svm, const SVM_Type type)
This function retrieves the external type from a type.
SVM_FUNCTION SVM_Comparison_Result svm_type_compare(const void *svm, const SVM_Type left, const SVM_Type right)
This function compares two types.
SVM_FUNCTION SVM_Boolean svm_type_equal_external(const void *svm, const SVM_Type type, const SVM_Value_PluginEntryPoint external)
This function checks whether a type is a specific external type.
SVM_FUNCTION SVM_Type_Internal svm_type_get_internal(const void *svm, const SVM_Type type)
This function retrieves the internal type from a type.
SVM_FUNCTION SVM_Boolean svm_type_is_internal(const void *svm, const SVM_Type type)
This function indicates whether a type contains an internal value type.
SVM_FUNCTION SVM_String svm_type_print(const void *svm, const SVM_Type type)
This function renders a type as a string.
SVM_FUNCTION SVM_Type svm_type_new_external(const void *svm, const SVM_Value_PluginEntryPoint external)
This function creates an external value type.
SVM_FUNCTION SVM_Boolean svm_type_equal_internal(const void *svm, const SVM_Type type, const SVM_Type_Internal internal)
This function checks whether a type is a specific internal type.
SVM_FUNCTION SVM_Type svm_type_new_internal(const void *svm, const SVM_Type_Internal internal)
This function creates an internal value type.
SVM_FUNCTION SVM_Boolean svm_type_is_external(const void *svm, const SVM_Type type)
This function indicates whether a type contains an external value type.
SVM_FUNCTION SVM_Type svm_type_copy(const void *svm, const SVM_Type type)
This function creates a copy of a type.
SVM_FUNCTION SVM_Parameter svm_parameter_value_new(const void *svm, const SVM_Value value)
This function creates a parameter from a value.
SVM_FUNCTION SVM_Value svm_parameter_value_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a value.
SVM_FUNCTION SVM_Boolean svm_parameter_type_is_value(const void *svm, const SVM_Parameter parameter)
This function checks whether a callback parameter is a value.
SVM_FUNCTION SVM_Comparison_Result svm_value_compare(const void *svm, const SVM_Value left, const SVM_Value right)
This function compares two values.
SVM_FUNCTION SVM_String svm_value_print(const void *svm, const SVM_Value value)
This function extracts a string representation of a value.
SVM_FUNCTION SVM_Value * svm_value_array_new(const void *svm, SVM_Size size)
This function creates an array of values.
SVM_FUNCTION SVM_Value svm_value_copy(const void *svm, const SVM_Value value)
This function creates a copy from a value.
SVM_FUNCTION SVM_Boolean svm_value_is_equal(const void *svm, const SVM_Value left, const SVM_Value right)
This function checks whether two values are equal.
SVM_FUNCTION SVM_Boolean svm_value_state_set_movable(const void *svm, const SVM_Value value)
This function flags a value as movable.
SVM_FUNCTION SVM_Boolean svm_value_state_is_constant(const void *svm, const SVM_Value value)
This function checks whether a value is a constant.
SVM_FUNCTION SVM_Boolean svm_value_state_is_movable(const void *svm, const SVM_Value value)
This function checks whether a value is movable.
SVM_FUNCTION SVM_Boolean svm_value_state_is_null(const void *svm, const SVM_Value value)
This function checks whether a value is a null value.
SVM_FUNCTION SVM_Type svm_value_type_get(const void *svm, const SVM_Value value)
This function extracts the type from a value.
SVM_FUNCTION SVM_String svm_value_type_print(const void *svm, const SVM_Value value)
This function prints the type from a value.
SVM_FUNCTION SVM_Parameter svm_parameter_variable_new(const void *svm, const SVM_Variable variable)
This function creates a parameter from a variable.
SVM_FUNCTION SVM_Boolean svm_parameter_type_is_variable(const void *svm, const SVM_Parameter parameter)
This function checks whether a parameter contains a variable.
SVM_FUNCTION SVM_Variable svm_parameter_variable_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a variable.
SVM_FUNCTION SVM_Variable * svm_variable_array_new(const void *svm, SVM_Size size)
This function creates an array of variables.
SVM_FUNCTION void svm_variable_delete(const void *svm, const SVM_Variable variable)
This function alters the scope of the given variable.
SVM_FUNCTION void svm_memory_write_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size, const SVM_Value *values)
This function writes an array of values into a memory.
SVM_FUNCTION void svm_memory_write_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value value)
This function writes a value into a memory.
SVM_FUNCTION void svm_memory_write_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Value *values)
This function writes an array of values into a memory.
Definition svm.h:452
SVM_Boolean type
TRUE when values types does not have the same type, FALSE otherwise.
Definition svm.h:462
SVM_Boolean null
TRUE when at least one value was null, FALSE otherwise.
Definition svm.h:463
SVM_Boolean superior_or_equal
TRUE when comparison is an order and left value is superior or equal to right value,...
Definition svm.h:458
SVM_Boolean inferior
TRUE when comparison is an order and left value is inferior to right value, FALSE otherwise.
Definition svm.h:455
SVM_Boolean equal
TRUE when values are equal, FALSE otherwise.
Definition svm.h:453
SVM_Boolean inferior_or_equal
TRUE when comparison is an order and left value is inferior or equal to right value,...
Definition svm.h:456
SVM_Boolean order
TRUE when comparison supports ordering, FALSE when comparison supports only equivalence.
Definition svm.h:459
SVM_Boolean different
TRUE when values are different, FALSE otherwise.
Definition svm.h:454
SVM_Boolean superior
TRUE when comparison is an order and left value is superior to right value, FALSE otherwise.
Definition svm.h:457
SVM_Boolean weak
TRUE when values are not comparables (a fallback arbitrary comparison is used instead),...
Definition svm.h:461
SVM_Boolean total
TRUE when comparison is an order and this comparison is total, FALSE otherwise.
Definition svm.h:460
Definition svm.h:493
SVM_String _details
Contains additional human readable details.
Definition svm.h:495
SVM_Boolean _value
Contains the status value.
Definition svm.h:494
Definition svm.h:336
SVM_Size size
Definition svm.h:344
const char * string
The memory buffer associated to this string is always held by the SVM when it has been returned from ...
Definition svm.h:337