Simple Virtual Machine A simple but flexible virtual machine

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
113#ifdef __cplusplus
114 extern "C"
115{
116#endif
117
126#define SVM_TYPE
130#define SVM_TYPE_BEGIN
134#define SVM_TYPE_END
138#define SVM_FUNCTION
139
162/*
163 * These types correspond to specific objects used in this API.
164 */
165
171 SVM_TYPE typedef const void* SVM_Variable;
172
180 SVM_TYPE typedef const void* SVM_Parameter;
181
187 SVM_TYPE typedef const void* SVM_Structure;
188
194 SVM_TYPE typedef const void* SVM_AccessControl;
195
201 SVM_TYPE typedef const void* SVM_Memory_Zone;
202
210 SVM_TYPE typedef const void* SVM_Lock;
211
217 SVM_TYPE typedef const void* SVM_LockGuard_Read;
218
224 SVM_TYPE typedef const void* SVM_LockGuard_Write;
225
233 SVM_TYPE typedef const void* SVM_Event_Queue;
234
240 SVM_TYPE typedef const void* SVM_Event_Queue_Address;
241
247 SVM_TYPE typedef unsigned long int SVM_Address;
248
252 SVM_TYPE typedef unsigned long int SVM_Index;
253
257 SVM_TYPE typedef unsigned long int SVM_Size;
258
270 SVM_TYPE typedef const void* SVM_Code;
271
284 SVM_TYPE typedef const void* SVM_Kernel;
285
304 SVM_TYPE typedef const void* SVM_Process;
305
311 SVM_TYPE typedef const void* SVM_Process_Lock;
312
320 SVM_TYPE typedef const void* SVM_Scheduler;
321
327 SVM_TYPE typedef const void* SVM_Debug_Form;
328
332 SVM_TYPE_BEGIN
333 typedef struct
334{
335 const char *string;
342 SVM_Size size;
343} SVM_String;
344 SVM_TYPE_END
345
351 SVM_TYPE_BEGIN
352 typedef enum
353{
354 FALSE = 0,
355 TRUE = 1
356} SVM_Boolean;
357 SVM_TYPE_END
358
364 SVM_TYPE_BEGIN
365 typedef enum
366{
367 AUTOMATIC,
368 INTEGER,
369 STRING,
370 BOOLEAN,
371 POINTER,
372 LIBRARY,
373 SYMBOL,
374 PLUGIN_ENTRY_POINT,
375 INTERRUPTION
376} SVM_Type_Internal;
377 SVM_TYPE_END
378
383 SVM_TYPE_BEGIN
384 typedef enum
385{
386 CLONE,
387 DEVICE,
388 FAILURE,
389 FIRST,
390 MEMORY,
391 NUMERIC,
392 PROCESSOR,
393 SECOND,
394 SECURITY,
395 TERMINATE,
396 TERMINAL,
397 GENERIC
398} SVM_Interruption_Internal;
399 SVM_TYPE_END
400
405 SVM_TYPE_BEGIN
406 typedef enum
407{
408 SOFTWARE,
409 HARDWARE
410} SVM_Interruption_Kind;
411 SVM_TYPE_END
412
417 SVM_TYPE_BEGIN
418 typedef enum
419{
420 NOTIFICATION,
421 TIMER
422} SVM_Notification_Type;
423 SVM_TYPE_END
424
429 SVM_TYPE_BEGIN
430 typedef enum
431{
432 RUNNING,
433 SUSPENDED,
434 WAITING,
435 CONTINUE,
436 LOCKED,
437 DEBUG,
438 ZOMBIE,
439 INTERRUPTED,
440 ERROR
441} SVM_Process_State;
442 SVM_TYPE_END
443
448 SVM_TYPE_BEGIN
449 typedef enum
450{
451 LOCAL,
452 CASCADE,
453 GLOBAL
454} SVM_Object_Level;
455 SVM_TYPE_END
456
460 SVM_TYPE_BEGIN
461 typedef struct
462{
463 SVM_Boolean equal;
464 SVM_Boolean different;
465 SVM_Boolean inferior;
466 SVM_Boolean inferior_or_equal;
467 SVM_Boolean superior;
468 SVM_Boolean superior_or_equal;
469 SVM_Boolean order;
470 SVM_Boolean total;
471 SVM_Boolean weak;
472 SVM_Boolean type;
473 SVM_Boolean null;
474} SVM_Comparison_Result;
475 SVM_TYPE_END
476
482 SVM_TYPE_BEGIN
483 typedef enum
484{
485 EQUIVALENCE_EQUAL = 0x0,
486 EQUIVALENCE_DIFFERENT = 0x3,
487 ORDER_EQUAL = 0x4,
488 ORDER_INFERIOR = 0x5,
489 ORDER_SUPERIOR = 0x6,
490 ORDER_UNCOMPARABLE = 0x7,
491 ORDER_TOTAL = 0x0,
492 ORDER_PARTIAL = 0x8,
493 COMPARISON_STRONG = 0x0,
494 COMPARISON_WEAK = 0x10
495} SVM_Value_Plugin_Comparison;
496 SVM_TYPE_END
497
501 SVM_TYPE_BEGIN
502 typedef struct
503{
504 SVM_Boolean _value;
505 SVM_String _details;
506} SVM_Status_Boolean;
507 SVM_TYPE_END
508
509#define SVM_NOTHING
514 SVM_TYPE typedef SVM_Process_State SVM_Kernel_State;
515
521 SVM_TYPE typedef const void* SVM_Type;
522
530 SVM_TYPE typedef const void* SVM_Value;
531
539 SVM_TYPE typedef const void* SVM_Value_Integer;
540
548 SVM_TYPE typedef const void* SVM_Value_String;
549
557 SVM_TYPE typedef const void* SVM_Value_Boolean;
558
570 SVM_TYPE typedef const void* SVM_Value_Pointer;
571
579 SVM_TYPE typedef const void* SVM_Value_Library;
580
592 SVM_TYPE typedef const void* SVM_Value_Symbol;
593
605 SVM_TYPE typedef const void* SVM_Value_PluginEntryPoint;
606
618 SVM_TYPE typedef const void* SVM_Value_Interruption;
619
629 SVM_TYPE typedef const void* SVM_Value_Plugin;
630
638 SVM_TYPE typedef const void* SVM_Value_Automatic;
639
666 SVM_FUNCTION const char* svm_api_get_signature();
667
704 SVM_FUNCTION void svm_plugin_configure(void *plugin_handler, const char *plugin_configuration, const char api_signature[], const char svm_version[]);
705
761 SVM_FUNCTION SVM_Variable* svm_variable_array_new(const void *svm, SVM_Size size);
762
775 SVM_FUNCTION void svm_variable_delete(const void *svm, const SVM_Variable variable);
776
794 SVM_FUNCTION void svm_variable_scope_set_global(const void *svm, const SVM_Variable variable);
795
810 SVM_FUNCTION void svm_variable_scope_set_local(const void *svm, const SVM_Variable variable);
811
830 SVM_FUNCTION void svm_variable_scope_set_shared(const void *svm, const SVM_Variable variable);
831
846 SVM_FUNCTION void svm_variable_scope_reset_shared(const void *svm, const SVM_Variable variable);
847
861 SVM_FUNCTION SVM_Boolean svm_variable_scope_is_shared(const void *svm, const SVM_Variable variable);
862
878 SVM_FUNCTION SVM_Boolean svm_variable_scope_is_local(const void *svm, const SVM_Variable variable);
879
895 SVM_FUNCTION SVM_Boolean svm_variable_scope_is_global(const void *svm, const SVM_Variable variable);
896
914 SVM_FUNCTION SVM_Boolean svm_variable_is_valid(const void *svm, const SVM_Variable variable);
915
926 SVM_FUNCTION SVM_Boolean svm_variable_type_is_value(const void *svm, const SVM_Variable variable);
927
938 SVM_FUNCTION SVM_Boolean svm_variable_type_is_structure(const void *svm, const SVM_Variable variable);
939
950 SVM_FUNCTION SVM_Boolean svm_variable_type_is_parameter(const void *svm, const SVM_Variable variable);
951
962 SVM_FUNCTION SVM_Boolean svm_variable_type_is_accesscontrol(const void *svm, const SVM_Variable variable);
963
974 SVM_FUNCTION SVM_Boolean svm_variable_type_is_memoryzone(const void *svm, const SVM_Variable variable);
975
986 SVM_FUNCTION SVM_Boolean svm_variable_type_is_code(const void *svm, const SVM_Variable variable);
987
998 SVM_FUNCTION SVM_Boolean svm_variable_type_is_kernel(const void *svm, const SVM_Variable variable);
999
1010 SVM_FUNCTION SVM_Boolean svm_variable_type_is_process(const void *svm, const SVM_Variable variable);
1011
1022 SVM_FUNCTION SVM_Boolean svm_variable_type_is_processlock(const void *svm, const SVM_Variable variable);
1023
1034 SVM_FUNCTION SVM_Boolean svm_variable_type_is_scheduler(const void *svm, const SVM_Variable variable);
1035
1046 SVM_FUNCTION SVM_Boolean svm_variable_type_is_lock(const void *svm, const SVM_Variable variable);
1047
1058 SVM_FUNCTION SVM_Boolean svm_variable_type_is_lockguardread(const void *svm, const SVM_Variable variable);
1059
1070 SVM_FUNCTION SVM_Boolean svm_variable_type_is_lockguardwrite(const void *svm, const SVM_Variable variable);
1071
1082 SVM_FUNCTION SVM_Boolean svm_variable_type_is_eventqueue(const void *svm, const SVM_Variable variable);
1083
1094 SVM_FUNCTION SVM_Boolean svm_variable_type_is_eventqueueaddress(const void *svm, const SVM_Variable variable);
1095
1122 SVM_FUNCTION SVM_String svm_string_new(const void *svm, const char *buffer, const SVM_Size size);
1123
1138 SVM_FUNCTION SVM_String svm_string_new__raw(const void *svm, const char *string);
1139
1150 SVM_FUNCTION SVM_String svm_string_new__buffer(const void *svm, const SVM_Size size);
1151
1163 SVM_FUNCTION SVM_String svm_string_join(const void *svm, const SVM_String first, const SVM_String second);
1164
1176 SVM_FUNCTION SVM_String svm_string_join__raw(const void *svm, const SVM_String first, const char *second);
1177
1190 SVM_FUNCTION SVM_String svm_string_join__buffer(const void *svm, const SVM_String first, const char *second, const SVM_Size size);
1191
1203 SVM_FUNCTION SVM_Boolean svm_string_is_equal(const void *svm, const SVM_String left, const SVM_String right);
1204
1216 SVM_FUNCTION SVM_Boolean svm_string_is_equal__raw(const void *svm, const SVM_String left, const char *right);
1217
1230 SVM_FUNCTION SVM_Boolean svm_string_is_equal__buffer(const void *svm, const SVM_String left, const char *buffer, const SVM_Size size);
1231
1260 SVM_FUNCTION SVM_Boolean svm_parameter_type_is_value(const void *svm, const SVM_Parameter parameter);
1261
1275 SVM_FUNCTION SVM_Value svm_parameter_value_get(const void *svm, const SVM_Parameter parameter);
1276
1287 SVM_FUNCTION SVM_Parameter svm_parameter_value_new(const void *svm, const SVM_Value value);
1288
1308 SVM_FUNCTION SVM_Boolean svm_parameter_type_is_marker(const void *svm, const SVM_Parameter parameter);
1309
1325 SVM_FUNCTION SVM_String svm_parameter_marker_get(const void *svm, const SVM_Parameter parameter);
1326
1339 SVM_FUNCTION SVM_Parameter svm_parameter_marker_new(const void *svm, const SVM_String marker);
1340
1353 SVM_FUNCTION SVM_Parameter svm_parameter_marker_new__raw(const void *svm, const char *marker);
1354
1372 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);
1373
1391 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);
1392
1408 SVM_FUNCTION SVM_Index svm_parameter_marker_find_separator(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index start);
1409
1432 SVM_FUNCTION SVM_Index svm_parameter_marker_find_closing(const void *svm, const SVM_Size argc, const SVM_Parameter argv[], const SVM_Index opening);
1433
1454 SVM_FUNCTION SVM_Boolean svm_parameter_type_is_keyword(const void *svm, const SVM_Parameter parameter);
1455
1471 SVM_FUNCTION SVM_String svm_parameter_keyword_get(const void *svm, const SVM_Parameter parameter);
1472
1486 SVM_FUNCTION SVM_Parameter svm_parameter_keyword_new(const void *svm, const SVM_String keyword);
1487
1501 SVM_FUNCTION SVM_Parameter svm_parameter_keyword_new__raw(const void *svm, const char *keyword);
1502
1522 SVM_FUNCTION SVM_Boolean svm_parameter_type_is_structure(const void *svm, const SVM_Parameter parameter);
1523
1538 SVM_FUNCTION SVM_Structure svm_parameter_structure_get(const void *svm, const SVM_Parameter parameter);
1539
1553 SVM_FUNCTION SVM_Parameter svm_parameter_structure_new(const void *svm, const SVM_Structure structure);
1554
1572 SVM_FUNCTION SVM_Boolean svm_parameter_type_is_variable(const void *svm, const SVM_Parameter parameter);
1573
1587 SVM_FUNCTION SVM_Variable svm_parameter_variable_get(const void *svm, const SVM_Parameter parameter);
1588
1599 SVM_FUNCTION SVM_Parameter svm_parameter_variable_new(const void *svm, const SVM_Variable variable);
1600
1615 SVM_FUNCTION SVM_Parameter* svm_parameter_array_new(const void *svm, const SVM_Size argc);
1616
1634 SVM_FUNCTION void svm_machine_shutdown(const void *svm, const SVM_Value_Integer return_code);
1635
1645 SVM_FUNCTION void svm_machine_shutdown__raw(const void *svm, const unsigned long int return_code);
1646
1655 SVM_FUNCTION void svm_machine_trace(const void *svm, const SVM_Value_String trace);
1656
1665 SVM_FUNCTION void svm_machine_trace__string(const void *svm, const SVM_String trace);
1666
1675 SVM_FUNCTION void svm_machine_trace__raw(const void *svm, const char *trace);
1676
1691 SVM_FUNCTION SVM_Value_Interruption* svm_machine_list_interruption(const void *svm);
1692
1705 SVM_FUNCTION SVM_String svm_machine_config(const void *svm, const char *key);
1706
1717 SVM_FUNCTION SVM_Boolean svm_machine_mode_is_debug(const void *svm);
1718
1729 SVM_FUNCTION SVM_Boolean svm_machine_mode_is_performance(const void *svm);
1730
1750 SVM_FUNCTION SVM_String svm_plugin_print(const void *svm);
1751
1775 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);
1776
1787 SVM_FUNCTION SVM_Boolean svm_plugin_has_type(const void *svm, const SVM_Value_PluginEntryPoint type);
1788
1806 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);
1807
1825 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);
1826
1837 SVM_FUNCTION SVM_Boolean svm_plugin_has_structure(const void *svm, const SVM_Value_PluginEntryPoint structure);
1838
1849 SVM_FUNCTION SVM_Boolean svm_plugin_has_interruption(const void *svm, const SVM_Value_PluginEntryPoint interruption);
1850
1861 SVM_FUNCTION SVM_Boolean svm_plugin_has_sequencer(const void *svm, const SVM_Value_PluginEntryPoint sequencer);
1862
1873 SVM_FUNCTION SVM_Boolean svm_plugin_has_scheduler(const void *svm, const SVM_Value_PluginEntryPoint scheduler);
1874
1895 SVM_FUNCTION SVM_Boolean svm_plugin_has_option(const void *svm, const SVM_Value_PluginEntryPoint option);
1896
1907 SVM_FUNCTION SVM_Boolean svm_plugin_has_argument(const void *svm, const SVM_Value_PluginEntryPoint argument);
1908
1919 SVM_FUNCTION SVM_Boolean svm_plugin_has_arguments(const void *svm, const SVM_Value_PluginEntryPoint arguments);
1920
1936 SVM_FUNCTION SVM_Value svm_plugin_get_option(const void *svm, const SVM_Value_PluginEntryPoint option);
1937
1953 SVM_FUNCTION SVM_Value svm_plugin_get_argument(const void *svm, const SVM_Value_PluginEntryPoint argument);
1954
1970 SVM_FUNCTION SVM_Value* svm_plugin_get_arguments(const void *svm, const SVM_Value_PluginEntryPoint arguments);
1971
2000 SVM_FUNCTION SVM_Structure svm_structure_new(const void *svm, const SVM_Value_PluginEntryPoint type, void *value);
2001
2012 SVM_FUNCTION SVM_Structure svm_structure_new_null(const void *svm, const SVM_Value_PluginEntryPoint type);
2013
2024 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_structure_get_type(const void *svm, const SVM_Structure structure);
2025
2040 SVM_FUNCTION void* svm_structure_get_internal(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_Structure structure);
2041
2053 SVM_FUNCTION SVM_Structure svm_structure_copy(const void *svm, const SVM_Structure structure);
2054
2126 SVM_FUNCTION SVM_Variable svm_function_call(const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, SVM_Parameter argv[]);
2127
2140 SVM_FUNCTION SVM_String svm_function_get_prototype(const void *svm, const SVM_Value_PluginEntryPoint name);
2141
2164 SVM_FUNCTION SVM_Type svm_type_new_internal(const void *svm, const SVM_Type_Internal internal);
2165
2176 SVM_FUNCTION SVM_Type svm_type_new_external(const void *svm, const SVM_Value_PluginEntryPoint external);
2177
2188 SVM_FUNCTION SVM_Boolean svm_type_is_internal(const void *svm, const SVM_Type type);
2189
2200 SVM_FUNCTION SVM_Boolean svm_type_is_external(const void *svm, const SVM_Type type);
2201
2213 SVM_FUNCTION SVM_Type_Internal svm_type_get_internal(const void *svm, const SVM_Type type);
2214
2226 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_type_get_external(const void *svm, const SVM_Type type);
2227
2238 SVM_FUNCTION SVM_Type svm_type_copy(const void *svm, const SVM_Type type);
2239
2250 SVM_FUNCTION SVM_String svm_type_print(const void *svm, const SVM_Type type);
2251
2265 SVM_FUNCTION SVM_Boolean svm_type_equal_internal(const void *svm, const SVM_Type type, const SVM_Type_Internal internal);
2266
2280 SVM_FUNCTION SVM_Boolean svm_type_equal_external(const void *svm, const SVM_Type type, const SVM_Value_PluginEntryPoint external);
2281
2295 SVM_FUNCTION SVM_Comparison_Result svm_type_compare(const void *svm, const SVM_Type left, const SVM_Type right);
2296
2331 SVM_FUNCTION SVM_Value_Integer svm_value_integer_new(const void *svm, const long int integer);
2332
2342 SVM_FUNCTION SVM_Value_Integer svm_value_integer_new_null(const void *svm);
2343
2354 SVM_FUNCTION SVM_Boolean svm_value_type_is_integer(const void *svm, const SVM_Value value);
2355
2370 SVM_FUNCTION long long int svm_value_integer_get(const void *svm, const SVM_Value_Integer integer);
2371
2386 SVM_FUNCTION void svm_value_integer_set(const void *svm, SVM_Value_Integer value, const long long int integer);
2387
2405 SVM_FUNCTION SVM_Value_String svm_value_string_new(const void *svm, const SVM_String string);
2406
2417 SVM_FUNCTION SVM_Value_String svm_value_string_new__raw(const void *svm, const char *string);
2418
2432 SVM_FUNCTION SVM_Value_String svm_value_string_new__buffer(const void *svm, const char *string, const SVM_Size size);
2433
2443 SVM_FUNCTION SVM_Value_String svm_value_string_new_null(const void *svm);
2444
2455 SVM_FUNCTION SVM_Boolean svm_value_type_is_string(const void *svm, const SVM_Value value);
2456
2471 SVM_FUNCTION SVM_String svm_value_string_get(const void *svm, const SVM_Value_String string);
2472
2487 SVM_FUNCTION void svm_value_string_set(const void *svm, SVM_Value_String value, const SVM_String string);
2488
2500 SVM_FUNCTION void svm_value_string_set__raw(const void *svm, SVM_Value_String value, const char *string);
2501
2516 SVM_FUNCTION void svm_value_string_set__buffer(const void *svm, SVM_Value_String value, const char *string, const SVM_Size size);
2517
2535 SVM_FUNCTION SVM_Value_Boolean svm_value_boolean_new(const void *svm, const SVM_Boolean boolean);
2536
2547 SVM_FUNCTION SVM_Value_Boolean svm_value_boolean_new__raw(const void *svm, const int boolean);
2548
2558 SVM_FUNCTION SVM_Value_Boolean svm_value_boolean_new_null(const void *svm);
2559
2570 SVM_FUNCTION SVM_Boolean svm_value_type_is_boolean(const void *svm, const SVM_Value value);
2571
2586 SVM_FUNCTION SVM_Boolean svm_value_boolean_get(const void *svm, const SVM_Value_Boolean boolean);
2587
2602 SVM_FUNCTION void svm_value_boolean_set(const void *svm, SVM_Value_Boolean value, const SVM_Boolean boolean);
2603
2618 SVM_FUNCTION void svm_value_boolean_set__raw(const void *svm, SVM_Value_Boolean value, const int boolean);
2619
2639 SVM_FUNCTION SVM_Value_Pointer svm_value_pointer_new(const void *svm, const SVM_Value_Integer address, const SVM_Value_Integer size);
2640
2652 SVM_FUNCTION SVM_Value_Pointer svm_value_pointer_new__raw(const void *svm, const SVM_Address address, const SVM_Size size);
2653
2663 SVM_FUNCTION SVM_Value_Pointer svm_value_pointer_new_null(const void *svm);
2664
2675 SVM_FUNCTION SVM_Boolean svm_value_type_is_pointer(const void *svm, const SVM_Value value);
2676
2691 SVM_FUNCTION SVM_Address svm_value_pointer_get_address(const void *svm, const SVM_Value_Pointer pointer);
2692
2707 SVM_FUNCTION SVM_Size svm_value_pointer_get_size(const void *svm, const SVM_Value_Pointer pointer);
2708
2724 SVM_FUNCTION void svm_value_pointer_set(const void *svm, SVM_Value_Pointer value, const SVM_Value_Pointer pointer);
2725
2741 SVM_FUNCTION void svm_value_pointer_set_address(const void *svm, SVM_Value_Pointer value, const SVM_Value_Integer address);
2742
2757 SVM_FUNCTION void svm_value_pointer_set_address__raw(const void *svm, SVM_Value_Pointer value, const SVM_Address address);
2758
2774 SVM_FUNCTION void svm_value_pointer_set_size(const void *svm, SVM_Value_Pointer value, const SVM_Value_Integer size);
2775
2790 SVM_FUNCTION void svm_value_pointer_set_size__raw(const void *svm, SVM_Value_Pointer value, const SVM_Size size);
2791
2808 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);
2809
2825 SVM_FUNCTION void svm_value_pointer_set_addresssize__raw(const void *svm, SVM_Value_Pointer value, const SVM_Address address, const SVM_Size size);
2826
2844 SVM_FUNCTION SVM_Value_Library svm_value_library_new(const void *svm, const SVM_Code code);
2845
2855 SVM_FUNCTION SVM_Value_Library svm_value_library_new_null(const void *svm);
2856
2867 SVM_FUNCTION SVM_Boolean svm_value_type_is_library(const void *svm, const SVM_Value value);
2868
2883 SVM_FUNCTION SVM_Code svm_value_library_get_code(const void *svm, const SVM_Value_Library library);
2884
2900 SVM_FUNCTION void svm_value_library_set(const void *svm, SVM_Value_Library value, const SVM_Value_Library library);
2901
2916 SVM_FUNCTION void svm_value_library_set_code(const void *svm, SVM_Value_Library value, const SVM_Code code);
2917
2936 SVM_FUNCTION SVM_Value_Symbol svm_value_symbol_new(const void *svm, const SVM_Code code, const SVM_Address symbol);
2937
2947 SVM_FUNCTION SVM_Value_Symbol svm_value_symbol_new_null(const void *svm);
2948
2959 SVM_FUNCTION SVM_Boolean svm_value_type_is_symbol(const void *svm, const SVM_Value value);
2960
2975 SVM_FUNCTION SVM_Code svm_value_symbol_get_code(const void *svm, const SVM_Value_Symbol symbol);
2976
2991 SVM_FUNCTION SVM_Address svm_value_symbol_get_address(const void *svm, const SVM_Value_Symbol symbol);
2992
3006 SVM_FUNCTION SVM_String svm_value_symbol_get_location(const void *svm, const SVM_Value_Symbol symbol);
3007
3023 SVM_FUNCTION void svm_value_symbol_set(const void *svm, SVM_Value_Symbol value, const SVM_Value_Symbol symbol);
3024
3039 SVM_FUNCTION void svm_value_symbol_set_code(const void *svm, SVM_Value_Symbol value, const SVM_Code code);
3040
3055 SVM_FUNCTION void svm_value_symbol_set_address(const void *svm, SVM_Value_Symbol value, const SVM_Address address);
3056
3072 SVM_FUNCTION void svm_value_symbol_set_codeaddress(const void *svm, SVM_Value_Symbol value, const SVM_Code code, const SVM_Address address);
3073
3092 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new(const void *svm, const SVM_Value_String plugin_name, const SVM_Value_String entry_name);
3093
3105 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new__string(const void *svm, const SVM_String plugin_name, const SVM_String entry_name);
3106
3118 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new__raw(const void *svm, const char *plugin_name, const char *entry_name);
3119
3133 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new_prefix(const void *svm, const SVM_Value_PluginEntryPoint pep, const char *prefix);
3134
3144 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_pluginentrypoint_new_null(const void *svm);
3145
3156 SVM_FUNCTION SVM_Boolean svm_value_type_is_pluginentrypoint(const void *svm, const SVM_Value value);
3157
3172 SVM_FUNCTION SVM_String svm_value_pluginentrypoint_get_plugin(const void *svm, const SVM_Value_PluginEntryPoint pep);
3173
3188 SVM_FUNCTION SVM_String svm_value_pluginentrypoint_get_entry(const void *svm, const SVM_Value_PluginEntryPoint pep);
3189
3205 SVM_FUNCTION void svm_value_pluginentrypoint_set(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_PluginEntryPoint pluginentrypoint);
3206
3221 SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String plugin_name);
3222
3237 SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String plugin_name);
3238
3253 SVM_FUNCTION void svm_value_pluginentrypoint_set_plugin__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *plugin_name);
3254
3270 SVM_FUNCTION void svm_value_pluginentrypoint_set_entry(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_Value_String entry_name, const char *prefix);
3271
3287 SVM_FUNCTION void svm_value_pluginentrypoint_set_entry__string(const void *svm, SVM_Value_PluginEntryPoint value, const SVM_String entry_name, const char *prefix);
3288
3304 SVM_FUNCTION void svm_value_pluginentrypoint_set_entry__raw(const void *svm, SVM_Value_PluginEntryPoint value, const char *entry_name, const char *prefix);
3305
3322 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);
3323
3340 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);
3341
3358 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);
3359
3382 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);
3383
3399 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);
3400
3416 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);
3417
3433 SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_external(const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_Value_String message);
3434
3450 SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_external__string(const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_String message);
3451
3467 SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_external__raw(const void *svm, const SVM_Value_PluginEntryPoint name, const char *message);
3468
3478 SVM_FUNCTION SVM_Value_Interruption svm_value_interruption_new_null(const void *svm);
3479
3490 SVM_FUNCTION SVM_Boolean svm_value_type_is_interruption(const void *svm, const SVM_Value value);
3491
3507 SVM_FUNCTION SVM_Boolean svm_value_interruption_is_internal(const void *svm, const SVM_Value_Interruption interruption);
3508
3524 SVM_FUNCTION SVM_Boolean svm_value_interruption_is_external(const void *svm, const SVM_Value_Interruption interruption);
3525
3541 SVM_FUNCTION SVM_Interruption_Internal svm_value_interruption_get_internal(const void *svm, const SVM_Value_Interruption interruption);
3542
3558 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_interruption_get_external(const void *svm, const SVM_Value_Interruption interruption);
3559
3574 SVM_FUNCTION SVM_String svm_value_interruption_get_message(const void *svm, const SVM_Value_Interruption interruption);
3575
3590 SVM_FUNCTION SVM_Interruption_Kind svm_value_interruption_get_kind(const void *svm, const SVM_Value_Interruption interruption);
3591
3608 SVM_FUNCTION SVM_String svm_value_interruption_get_location(const void *svm, const SVM_Value_Interruption interruption);
3609
3625 SVM_FUNCTION void svm_value_interruption_set(const void *svm, SVM_Value_Interruption value, const SVM_Value_Interruption interruption);
3626
3644 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);
3645
3663 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);
3664
3682 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);
3683
3702 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);
3703
3722 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);
3723
3742 SVM_FUNCTION void svm_value_interruption_set_external__raw(const void *svm, SVM_Value_Interruption value, const SVM_Value_PluginEntryPoint name, const char *message);
3743
3766 SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new(const void *svm, const SVM_Value_PluginEntryPoint type, void *value);
3767
3779 SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_null(const void *svm, const SVM_Value_PluginEntryPoint type);
3780
3795 SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_const(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_Value_String value);
3796
3811 SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_const__string(const void *svm, const SVM_Value_PluginEntryPoint type, const SVM_String value);
3812
3827 SVM_FUNCTION SVM_Value_Plugin svm_value_plugin_new_const__raw(const void *svm, const SVM_Value_PluginEntryPoint type, const char *value);
3828
3841 SVM_FUNCTION SVM_Boolean svm_value_type_is_plugin(const void *svm, const SVM_Value value, const SVM_Value_PluginEntryPoint type);
3842
3857 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_value_plugin_get_type(const void *svm, const SVM_Value_Plugin plugin);
3858
3876 SVM_FUNCTION void* svm_value_plugin_get_internal(const void *svm, const SVM_Value_Plugin plugin);
3877
3898 SVM_FUNCTION void svm_value_plugin_set(const void *svm, SVM_Value_Plugin value, const SVM_Value_Plugin plugin);
3899
3921 SVM_FUNCTION void svm_value_plugin_set_internal(const void *svm, SVM_Value_Plugin value, const SVM_Value_PluginEntryPoint type, void *internal_value);
3922
3936 SVM_FUNCTION SVM_Value_Plugin_Comparison svm_value_plugin_compare_convert(const void *svm, const SVM_Comparison_Result compare);
3937
3956 SVM_FUNCTION SVM_Value_Automatic svm_value_automatic_new_null(const void *svm);
3957
3975 SVM_FUNCTION SVM_Type svm_value_type_get(const void *svm, const SVM_Value value);
3976
3987 SVM_FUNCTION SVM_String svm_value_type_print(const void *svm, const SVM_Value value);
3988
4004 SVM_FUNCTION SVM_Comparison_Result svm_value_compare(const void *svm, const SVM_Value left, const SVM_Value right);
4005
4019 SVM_FUNCTION SVM_Boolean svm_value_is_equal(const void *svm, const SVM_Value left, const SVM_Value right);
4020
4036 SVM_FUNCTION SVM_Boolean svm_value_state_is_null(const void *svm, const SVM_Value value);
4037
4048 SVM_FUNCTION SVM_Boolean svm_value_state_is_constant(const void *svm, const SVM_Value value);
4049
4060 SVM_FUNCTION SVM_Boolean svm_value_state_is_movable(const void *svm, const SVM_Value value);
4061
4075 SVM_FUNCTION SVM_Boolean svm_value_state_set_movable(const void *svm, const SVM_Value value);
4076
4092 SVM_FUNCTION SVM_Value svm_value_copy(const void *svm, const SVM_Value value);
4093
4106 SVM_FUNCTION SVM_String svm_value_print(const void *svm, const SVM_Value value);
4107
4120 SVM_FUNCTION SVM_Value* svm_value_array_new(const void *svm, SVM_Size size);
4121
4160 SVM_FUNCTION SVM_Code svm_code_new(const void *svm, const SVM_Value_String name, const SVM_Value_String source);
4161
4179 SVM_FUNCTION SVM_Code svm_code_new__string(const void *svm, const SVM_String name, const SVM_String source);
4180
4198 SVM_FUNCTION SVM_Code svm_code_new__raw(const void *svm, const char *name, const char *source);
4199
4213 SVM_FUNCTION SVM_Variable svm_code_compile(const void *svm, const SVM_Value_String name, const SVM_Value_String source);
4214
4228 SVM_FUNCTION SVM_Variable svm_code_compile__string(const void *svm, const SVM_String name, const SVM_String source);
4229
4243 SVM_FUNCTION SVM_Variable svm_code_compile__raw(const void *svm, const char *name, const char *source);
4244
4257 SVM_FUNCTION SVM_String svm_code_get_name(const void *svm, const SVM_Code code);
4258
4269 SVM_FUNCTION SVM_String svm_code_get_source(const void *svm, const SVM_Code code);
4270
4284 SVM_FUNCTION SVM_String svm_code_print(const void *svm, const SVM_Code code);
4285
4302 SVM_FUNCTION SVM_Boolean svm_code_label_has_address(const void *svm, const SVM_Code code, const SVM_Value_String label);
4303
4315 SVM_FUNCTION SVM_Boolean svm_code_label_has_address__string(const void *svm, const SVM_Code code, const SVM_String label);
4316
4328 SVM_FUNCTION SVM_Boolean svm_code_label_has_address__raw(const void *svm, const SVM_Code code, const char *label);
4329
4348 SVM_FUNCTION SVM_Value_String* svm_code_label_list(const void *svm, const SVM_Code code);
4349
4364 SVM_FUNCTION SVM_Address svm_code_label_get_address(const void *svm, const SVM_Code code, const SVM_Value_String label);
4365
4380 SVM_FUNCTION SVM_Address svm_code_label_get_address__string(const void *svm, const SVM_Code code, const SVM_String label);
4381
4396 SVM_FUNCTION SVM_Address svm_code_label_get_address__raw(const void *svm, const SVM_Code code, const char *label);
4397
4416 SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address(const void *svm, const SVM_Code code, const SVM_Value_String label);
4417
4429 SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address__string(const void *svm, const SVM_Code code, const SVM_String label);
4430
4442 SVM_FUNCTION SVM_Boolean svm_code_symbol_has_address__raw(const void *svm, const SVM_Code code, const char *label);
4443
4470 SVM_FUNCTION SVM_Value_String* svm_code_symbol_list(const void *svm, const SVM_Code code);
4471
4484 SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address(const void *svm, const SVM_Code code, const SVM_Value_String label);
4485
4498 SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address__string(const void *svm, const SVM_Code code, const SVM_String label);
4499
4512 SVM_FUNCTION SVM_Value_Symbol svm_code_symbol_get_address__raw(const void *svm, const SVM_Code code, const char *label);
4513
4534 SVM_FUNCTION SVM_Size svm_code_get_size(const void *svm, const SVM_Code code);
4535
4548 SVM_FUNCTION SVM_String svm_code_instruction_get_text(const void *svm, const SVM_Code code, const SVM_Address address);
4549
4562 SVM_FUNCTION SVM_Boolean svm_code_instruction_is_system(const void *svm, const SVM_Code code, const SVM_Address address);
4563
4576 SVM_FUNCTION SVM_Boolean svm_code_instruction_is_waiting(const void *svm, const SVM_Code code, const SVM_Address address);
4577
4590 SVM_FUNCTION SVM_String svm_code_instruction_get_location(const void *svm, const SVM_Code code, const SVM_Address address);
4591
4622 SVM_FUNCTION SVM_AccessControl svm_accesscontrol_new(const void *svm, const unsigned long int *max_instructions, const unsigned long int *max_memory);
4623
4640 SVM_FUNCTION SVM_Boolean svm_accesscontrol_has_instructions(const void *svm, const SVM_AccessControl access_control);
4641
4655 SVM_FUNCTION unsigned long int svm_accesscontrol_get_instructions(const void *svm, const SVM_AccessControl access_control);
4656
4671 SVM_FUNCTION void svm_accesscontrol_set_instructions(const void *svm, SVM_AccessControl access_control, const unsigned long int instructions);
4672
4691 SVM_FUNCTION SVM_Boolean svm_accesscontrol_has_memory(const void *svm, const SVM_AccessControl access_control);
4692
4706 SVM_FUNCTION unsigned long int svm_accesscontrol_get_memory(const void *svm, const SVM_AccessControl access_control);
4707
4722 SVM_FUNCTION void svm_accesscontrol_set_memory(const void *svm, SVM_AccessControl access_control, const unsigned long int memory);
4723
4775 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);
4776
4803 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);
4804
4816 SVM_FUNCTION SVM_Kernel svm_kernel_get_current(const void *svm);
4817
4830 SVM_FUNCTION SVM_Process svm_kernel_get_process(const void *svm, const SVM_Kernel kernel);
4831
4853 SVM_FUNCTION SVM_Boolean svm_kernel_is_runnable(const void* svm, const SVM_Kernel kernel);
4854
4869 SVM_FUNCTION SVM_Boolean svm_kernel_is_terminated(const void* svm, const SVM_Kernel kernel);
4870
4885 SVM_FUNCTION SVM_Kernel_State svm_kernel_get_state(const void* svm, const SVM_Kernel kernel);
4886
4901 SVM_FUNCTION SVM_Boolean svm_kernel_has_transmitinterruption(const void* svm, const SVM_Kernel kernel);
4902
4917 SVM_FUNCTION SVM_Boolean svm_kernel_has_lastreturnisshutdown(const void* svm, const SVM_Kernel kernel);
4918
4933 SVM_FUNCTION SVM_Boolean svm_kernel_has_protectedmode(const void* svm, const SVM_Kernel kernel);
4934
4949 SVM_FUNCTION SVM_AccessControl svm_kernel_get_accesscontrol(const void* svm, const SVM_Kernel kernel);
4950
4966 SVM_FUNCTION void svm_kernel_set_accesscontrol(const void* svm, const SVM_Kernel kernel, const SVM_AccessControl access_control);
4967
4982 SVM_FUNCTION SVM_Value_Interruption svm_kernel_get_interruption(const void* svm, const SVM_Kernel kernel);
4983
5000 SVM_FUNCTION SVM_String svm_kernel_print(const void* svm, const SVM_Kernel kernel);
5001
5018 SVM_FUNCTION SVM_String svm_kernel_get_coredump(const void *svm, const SVM_Kernel kernel);
5019
5037 SVM_FUNCTION void svm_kernel_suspend(const void *svm, const SVM_Kernel kernel);
5038
5049 SVM_FUNCTION void svm_kernel_terminate(const void *svm, const SVM_Kernel kernel);
5050
5074 SVM_FUNCTION void svm_kernel_swap_memory(const void *svm, SVM_Kernel kernel1, SVM_Kernel kernel2);
5075
5117 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);
5118
5136 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);
5137
5155 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);
5156
5186 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);
5187
5217 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);
5218
5248 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);
5249
5279 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);
5280
5310 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);
5311
5341 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);
5342
5354 SVM_FUNCTION SVM_Process svm_process_get_current(const void *svm);
5355
5407 SVM_FUNCTION SVM_Process_Lock svm_process_ownership_lock(const void *svm, const SVM_Process process);
5408
5431 SVM_FUNCTION SVM_Process_Lock svm_process_ownership_lock_critical(const void *svm);
5432
5451 SVM_FUNCTION SVM_Boolean svm_process_ownership_check(const void *svm, const SVM_Process process);
5452
5472 SVM_FUNCTION SVM_Boolean svm_process_ownership_get_local(const void *svm, const SVM_Process process);
5473
5495 SVM_FUNCTION void svm_process_run(const void *svm, const SVM_Process process, const SVM_Value_Integer delay);
5496
5511 SVM_FUNCTION void svm_process_run__raw(const void *svm, const SVM_Process process, const unsigned long int delay);
5512
5525 SVM_FUNCTION void svm_process_suspend(const void *svm, const SVM_Process process);
5526
5539 SVM_FUNCTION void svm_process_terminate(const void *svm, const SVM_Process process);
5540
5554 SVM_FUNCTION void svm_process_interrupt(const void *svm, const SVM_Process process, const SVM_Value_Interruption interruption);
5555
5577 SVM_FUNCTION void svm_process_pause(const void *svm);
5578
5595 SVM_FUNCTION void svm_process_resume(const void *svm);
5596
5643 SVM_FUNCTION void svm_process_interruptionnotification_enable(const void *svm, const SVM_Process process);
5644
5663 SVM_FUNCTION void svm_process_interruptionnotification_disable(const void *svm, const SVM_Process process);
5664
5682 SVM_FUNCTION void svm_process_interruptionnotification_wait(const void *svm);
5683
5699 SVM_FUNCTION void svm_process_interruptionnotification_send(const void *svm, const SVM_Process process);
5700
5718 SVM_FUNCTION SVM_String svm_process_get_name(const void *svm, const SVM_Process process);
5719
5730 SVM_FUNCTION SVM_Process_State svm_process_get_state(const void *svm, const SVM_Process process);
5731
5744 SVM_FUNCTION SVM_Value_Interruption svm_process_get_interruption(const void* svm, const SVM_Process process);
5745
5758 SVM_FUNCTION SVM_String svm_process_print(const void *svm, const SVM_Process process);
5759
5772 SVM_FUNCTION SVM_String svm_process_get_coredump(const void *svm, const SVM_Process process);
5773
5791 SVM_FUNCTION SVM_Boolean svm_process_has_scheduler(const void *svm, const SVM_Process process);
5792
5806 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_process_get_scheduler(const void *svm, const SVM_Process process);
5807
5827 SVM_FUNCTION SVM_Value_PluginEntryPoint svm_process_get_sequencer(const void *svm, const SVM_Process process);
5828
5845 SVM_FUNCTION void* svm_process_sequencer_get_internal(const void *svm, const SVM_Process process);
5846
5857 SVM_FUNCTION SVM_String svm_process_sequencer_print(const void *svm, const SVM_Process process);
5858
5889 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[]);
5890
5914 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[]);
5915
5930 SVM_FUNCTION SVM_Kernel svm_process_kernel_get_current(const void *svm, const SVM_Process process);
5931
5965 SVM_FUNCTION SVM_Scheduler svm_scheduler_get(const void *svm, const SVM_Value_PluginEntryPoint name);
5966
5976 SVM_FUNCTION SVM_Scheduler svm_scheduler_get_current(const void *svm);
5977
5990 SVM_FUNCTION void* svm_scheduler_get_internal(const void *svm, const SVM_Scheduler scheduler);
5991
6002 SVM_FUNCTION SVM_String svm_scheduler_print(const void *svm, const SVM_Scheduler scheduler);
6003
6027 SVM_FUNCTION SVM_Boolean svm_scheduler_process_attach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Value_Integer parameter);
6028
6052 SVM_FUNCTION SVM_Boolean svm_scheduler_process_attach__raw(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const unsigned long int parameter);
6053
6077 SVM_FUNCTION SVM_Boolean svm_scheduler_process_detach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Value_Integer parameter);
6078
6102 SVM_FUNCTION SVM_Boolean svm_scheduler_process_detach__raw(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const unsigned long int parameter);
6103
6115 SVM_FUNCTION void svm_scheduler_notify(const void *svm, const SVM_Scheduler scheduler, const SVM_Value_Integer parameter);
6116
6128 SVM_FUNCTION void svm_scheduler_notify__raw(const void *svm, const SVM_Scheduler scheduler, const unsigned long int parameter);
6129
6163 SVM_FUNCTION SVM_Lock svm_lock_new(const void *svm);
6164
6186 SVM_FUNCTION SVM_LockGuard_Read svm_lock_readguard_new(const void *svm, const SVM_Lock lock, const SVM_Boolean soft);
6187
6209 SVM_FUNCTION SVM_LockGuard_Write svm_lock_writeguard_new(const void *svm, const SVM_Lock lock, const SVM_Boolean soft);
6210
6229 SVM_FUNCTION SVM_Event_Queue svm_event_queue_new(const void *svm);
6230
6242 SVM_FUNCTION SVM_Event_Queue_Address svm_event_address_new(const void *svm);
6243
6261 SVM_FUNCTION SVM_Event_Queue_Address svm_event_address_new_struct(const void *svm, const SVM_Structure structure);
6262
6275 SVM_FUNCTION SVM_Boolean svm_event_address_has_struct(const void *svm, const SVM_Event_Queue_Address address);
6276
6294 SVM_FUNCTION SVM_Structure svm_event_address_get_struct(const void *svm, const SVM_Event_Queue_Address address);
6295
6307 SVM_FUNCTION void svm_event_queue_join(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address);
6308
6322 SVM_FUNCTION void svm_event_queue_leave(const void *svm, SVM_Event_Queue event_queue, const SVM_Event_Queue_Address address);
6323
6342 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);
6343
6363 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);
6364
6391 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);
6392
6422 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);
6423
6451 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);
6452
6488 SVM_FUNCTION SVM_Code svm_processor_get_currentcode(const void *svm, const SVM_Kernel kernel);
6489
6504 SVM_FUNCTION SVM_Value_Symbol svm_processor_get_nextinstruction(const void *svm, const SVM_Kernel kernel);
6505
6521 SVM_FUNCTION SVM_Value_Symbol svm_processor_get_currentinstruction(const void *svm, const SVM_Kernel kernel);
6522
6538 SVM_FUNCTION void svm_processor_jump_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
6539
6555 SVM_FUNCTION void svm_processor_jump_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol);
6556
6573 SVM_FUNCTION void svm_processor_call_local(const void *svm, const SVM_Kernel kernel, const SVM_Address function, const SVM_Value_Pointer parameters);
6574
6591 SVM_FUNCTION void svm_processor_call_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol function, const SVM_Value_Pointer parameters);
6592
6613 SVM_FUNCTION void svm_processor_call_identical(const void *svm, const SVM_Kernel kernel, const SVM_Boolean transfer);
6614
6630 SVM_FUNCTION void svm_processor_return(const void *svm, const SVM_Kernel kernel);
6631
6639 SVM_FUNCTION void svm_processor_current_shutdown(const void *svm);
6640
6664 SVM_FUNCTION void svm_processor_current_sleep(const void *svm, const SVM_Value_Integer seconds, const SVM_Value_Integer milliseconds, const SVM_Boolean soft);
6665
6688 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);
6689
6711 SVM_FUNCTION SVM_Size svm_processor_returnstack_get_size(const void *svm, const SVM_Kernel kernel);
6712
6727 SVM_FUNCTION void svm_processor_returnstack_swap_level(const void *svm, const SVM_Kernel kernel, const SVM_Index level);
6728
6748 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);
6749
6769 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);
6770
6790 SVM_FUNCTION SVM_Index svm_processor_returnstack_find_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Index start);
6791
6815 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);
6816
6838 SVM_FUNCTION SVM_Value_Pointer svm_processor_get_currentpointer(const void *svm, const SVM_Kernel kernel);
6839
6853 SVM_FUNCTION void svm_processor_set_currentpointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
6854
6879 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);
6880
6898 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);
6899
6916 SVM_FUNCTION void svm_processor_interruptionhandler_reset(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption, const SVM_Object_Level level);
6917
6938 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);
6939
6961 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);
6962
6981 SVM_FUNCTION void svm_processor_add_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
6982
6997 SVM_FUNCTION void svm_processor_clear_interruption(const void *svm, const SVM_Kernel kernel);
6998
7015 SVM_FUNCTION SVM_Value_Interruption* svm_processor_list_interruption(const void *svm, const SVM_Kernel kernel);
7016
7033 SVM_FUNCTION void svm_processor_hold_interruption(const void *svm, const SVM_Kernel kernel);
7034
7051 SVM_FUNCTION void svm_processor_release_interruption(const void *svm, const SVM_Kernel kernel);
7052
7069 SVM_FUNCTION SVM_Boolean svm_processor_is_hardwareinterrupted(const void *svm, const SVM_Kernel kernel);
7070
7085 SVM_FUNCTION SVM_Value_Interruption svm_processor_get_currentinterruption(const void *svm, const SVM_Kernel kernel);
7086
7100 SVM_FUNCTION void svm_processor_set_currentinterruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
7101
7117 SVM_FUNCTION void svm_processor_current_raise_error(const void *svm, const SVM_Value_Interruption interruption);
7118
7131 SVM_FUNCTION void svm_processor_current_raise_error_internal__raw(const void *svm, const SVM_Interruption_Internal interruption, const char *message);
7132
7147 SVM_FUNCTION void svm_processor_current_raise_error_external__raw(const void *svm, const SVM_Value_PluginEntryPoint interruption, const char *message);
7148
7171 SVM_FUNCTION SVM_Boolean svm_processor_has_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag);
7172
7188 SVM_FUNCTION SVM_Boolean svm_processor_has_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag);
7189
7205 SVM_FUNCTION SVM_Boolean svm_processor_has_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag);
7206
7223 SVM_FUNCTION SVM_Value_String* svm_processor_list_flag(const void *svm, const SVM_Kernel kernel);
7224
7243 SVM_FUNCTION void svm_processor_set_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Object_Level level);
7244
7263 SVM_FUNCTION void svm_processor_set_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Object_Level level);
7264
7283 SVM_FUNCTION void svm_processor_set_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Object_Level level);
7284
7303 SVM_FUNCTION void svm_processor_reset_flag(const void *svm, const SVM_Kernel kernel, const SVM_Value_String flag, const SVM_Object_Level level);
7304
7323 SVM_FUNCTION void svm_processor_reset_flag__string(const void *svm, const SVM_Kernel kernel, const SVM_String flag, const SVM_Object_Level level);
7324
7343 SVM_FUNCTION void svm_processor_reset_flag__raw(const void *svm, const SVM_Kernel kernel, const char *flag, const SVM_Object_Level level);
7344
7379 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);
7380
7408 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);
7409
7428 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);
7429
7448 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);
7449
7466 SVM_FUNCTION void svm_processor_instructionoverride_reset_local(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Object_Level level);
7467
7484 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);
7485
7514 SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_new(const void *svm);
7515
7527 SVM_FUNCTION void svm_memory_zone_append(const void *svm, SVM_Memory_Zone zone, const SVM_Type type, const SVM_Value_Integer times);
7528
7540 SVM_FUNCTION void svm_memory_zone_append__raw(const void *svm, SVM_Memory_Zone zone, const SVM_Type type, const SVM_Size times);
7541
7553 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);
7554
7565 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);
7566
7578 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);
7579
7590 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);
7591
7601 SVM_FUNCTION void svm_memory_zone_append_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Memory_Zone append);
7602
7618 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);
7619
7637 SVM_FUNCTION void svm_memory_zone_remove_memory_zone(const void *svm, SVM_Memory_Zone zone, const SVM_Index index, const SVM_Size size);
7638
7653 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);
7654
7670 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);
7671
7682 SVM_FUNCTION SVM_Size svm_memory_zone_get_size(const void *svm, const SVM_Memory_Zone zone);
7683
7697 SVM_FUNCTION SVM_Type svm_memory_zone_get_type(const void *svm, const SVM_Memory_Zone zone, const SVM_Index index);
7698
7707 SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_copy(const void *svm, const SVM_Memory_Zone zone);
7708
7717 SVM_FUNCTION SVM_String svm_memory_zone_print(const void *svm, const SVM_Memory_Zone zone);
7718
7748 SVM_FUNCTION SVM_Value_Pointer svm_memory_allocate(const void *svm, const SVM_Kernel kernel, const SVM_Memory_Zone zone);
7749
7783 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);
7784
7800 SVM_FUNCTION void svm_memory_free(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
7801
7830 SVM_FUNCTION void svm_memory_scope_set_local(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
7831
7849 SVM_FUNCTION void svm_memory_scope_set_global(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
7850
7867 SVM_FUNCTION void svm_memory_scope_set_local_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
7868
7885 SVM_FUNCTION void svm_memory_scope_set_local_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
7886
7903 SVM_FUNCTION void svm_memory_scope_set_local_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
7904
7921 SVM_FUNCTION void svm_memory_scope_set_global_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
7922
7939 SVM_FUNCTION void svm_memory_scope_set_global_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
7940
7957 SVM_FUNCTION void svm_memory_scope_set_global_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
7958
7981 SVM_FUNCTION SVM_Boolean svm_memory_address_is_defined(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
7982
7998 SVM_FUNCTION SVM_Boolean svm_memory_address_is_initialised(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
7999
8017 SVM_FUNCTION SVM_Type svm_memory_address_get_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
8018
8038 SVM_FUNCTION SVM_Boolean svm_memory_address_is_writable(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value value);
8039
8058 SVM_FUNCTION void svm_memory_address_set_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type type);
8059
8101 SVM_FUNCTION SVM_Value_Pointer* svm_memory_pointer_list_accessible(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8102
8137 SVM_FUNCTION SVM_Value_String* svm_memory_pointer_list_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8138
8159 SVM_FUNCTION SVM_Value_String* svm_memory_pointer_expand_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8160
8177 SVM_FUNCTION SVM_Boolean svm_memory_pointer_has_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8178
8197 SVM_FUNCTION SVM_Memory_Zone svm_memory_pointer_get_zone(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8198
8219 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);
8220
8247 SVM_FUNCTION SVM_Value svm_memory_read_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
8248
8269 SVM_FUNCTION SVM_Value svm_memory_read_address_type(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Type type);
8270
8291 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);
8292
8316 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);
8317
8337 SVM_FUNCTION SVM_Value svm_memory_extract_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
8338
8361 SVM_FUNCTION SVM_Value* svm_memory_read_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8362
8386 SVM_FUNCTION SVM_Value* svm_memory_read_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size);
8387
8410 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);
8411
8435 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);
8436
8459 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);
8460
8484 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);
8485
8508 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);
8509
8533 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);
8534
8560 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);
8561
8586 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);
8587
8610 SVM_FUNCTION SVM_Value* svm_memory_extract_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
8611
8635 SVM_FUNCTION SVM_Value* svm_memory_extract_pointer__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Size size);
8636
8665 SVM_FUNCTION void svm_memory_write_address(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value value);
8666
8693 SVM_FUNCTION void svm_memory_write_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer, const SVM_Value* values);
8694
8722 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);
8723
8747 SVM_FUNCTION void svm_memory_add_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias, const SVM_Value_Pointer pointer);
8748
8765 SVM_FUNCTION void svm_memory_add_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias, const SVM_Value_Pointer pointer);
8766
8783 SVM_FUNCTION void svm_memory_add_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias, const SVM_Value_Pointer pointer);
8784
8800 SVM_FUNCTION SVM_Boolean svm_memory_has_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
8801
8817 SVM_FUNCTION SVM_Boolean svm_memory_has_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
8818
8834 SVM_FUNCTION SVM_Boolean svm_memory_has_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
8835
8853 SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
8854
8872 SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
8873
8891 SVM_FUNCTION SVM_Value_Pointer svm_memory_alias_get_pointer__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
8892
8908 SVM_FUNCTION void svm_memory_remove_alias(const void *svm, const SVM_Kernel kernel, const SVM_Value_String alias);
8909
8925 SVM_FUNCTION void svm_memory_remove_alias__string(const void *svm, const SVM_Kernel kernel, const SVM_String alias);
8926
8942 SVM_FUNCTION void svm_memory_remove_alias__raw(const void *svm, const SVM_Kernel kernel, const char *alias);
8943
8972 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);
8973
8996 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);
8997
9023 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);
9024
9050 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);
9051
9070 SVM_FUNCTION void svm_memory_address_shift(const void *svm, const SVM_Kernel kernel, const SVM_Address address, const SVM_Value_Integer shift);
9071
9090 SVM_FUNCTION void svm_memory_address_shift__raw(const void *svm, const SVM_Kernel kernel, const SVM_Address address, signed long int shift);
9091
9121 SVM_FUNCTION void svm_memory_synchronisation_enable(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
9122
9140 SVM_FUNCTION void svm_memory_synchronisation_disable(const void *svm, const SVM_Kernel kernel, const SVM_Value_Pointer pointer);
9141
9168 SVM_FUNCTION void svm_debug_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_String message);
9169
9181 SVM_FUNCTION void svm_debug_break__string(const void *svm, const SVM_Kernel kernel, const SVM_String message);
9182
9194 SVM_FUNCTION void svm_debug_break__raw(const void *svm, const SVM_Kernel kernel, const char *message);
9195
9209 SVM_FUNCTION void svm_debug_notify(const void *svm, const SVM_Kernel kernel, const SVM_Value_String message);
9210
9224 SVM_FUNCTION void svm_debug_notify__string(const void *svm, const SVM_Kernel kernel, const SVM_String message);
9225
9239 SVM_FUNCTION void svm_debug_notify__raw(const void *svm, const SVM_Kernel kernel, const char *message);
9240
9255 SVM_FUNCTION void svm_debug_synchronise(const void *svm, const SVM_Value value);
9256
9274 SVM_FUNCTION void svm_debug_breakpoint_add_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol);
9275
9288 SVM_FUNCTION void svm_debug_breakpoint_remove_break(const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol);
9289
9302 SVM_FUNCTION void svm_debug_breakpoint_add_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
9303
9316 SVM_FUNCTION void svm_debug_breakpoint_remove_interruption(const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption);
9317
9330 SVM_FUNCTION void svm_debug_breakpoint_add_memoryread(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9331
9344 SVM_FUNCTION void svm_debug_breakpoint_remove_memoryread(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9345
9358 SVM_FUNCTION void svm_debug_breakpoint_add_memorywrite(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9359
9372 SVM_FUNCTION void svm_debug_breakpoint_remove_memorywrite(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9373
9386 SVM_FUNCTION void svm_debug_breakpoint_add_memoryaccess(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9387
9400 SVM_FUNCTION void svm_debug_breakpoint_remove_memoryaccess(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9401
9414 SVM_FUNCTION void svm_debug_breakpoint_add_memoryfree(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9415
9428 SVM_FUNCTION void svm_debug_breakpoint_remove_memoryfree(const void *svm, const SVM_Kernel kernel, const SVM_Address address);
9429
9447 SVM_FUNCTION SVM_Debug_Form svm_debug_form_new(const void *svm, const char *title);
9448
9459 SVM_FUNCTION void svm_debug_form_append_checkbox(const void *svm, SVM_Debug_Form form, const char *label, const SVM_Value_Boolean default_value);
9460
9473 SVM_FUNCTION void svm_debug_form_append_checkbox__raw(const void *svm, SVM_Debug_Form form, const char *label, const int default_value);
9474
9492 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);
9493
9508 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);
9509
9524 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);
9525
9540 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);
9541
9556 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);
9557
9572 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);
9573
9585 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);
9586
9603 SVM_FUNCTION SVM_Value* svm_debug_form_request(const void *svm, const SVM_Debug_Form form);
9604
9609#ifdef __cplusplus
9610}
9611#endif
9612#endif
svm_accesscontrol_new
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_accesscontrol_set_instructions
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_accesscontrol_has_instructions
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_accesscontrol_get_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_accesscontrol_has_memory
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_accesscontrol_get_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_accesscontrol_set_memory
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_memory_address_get_type
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_memory_address_is_defined
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_memory_address_is_initialised
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_memory_address_set_type
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_memory_address_is_writable
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_memory_add_alias__raw
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_memory_remove_alias__raw
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_memory_has_alias__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_memory_has_alias
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_memory_remove_alias
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_memory_remove_alias__string
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_memory_alias_get_pointer
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_memory_alias_get_pointer__string
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_memory_add_alias
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_memory_has_alias__raw
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_memory_alias_get_pointer__raw
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_memory_add_alias__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_memory_allocate_address
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_memory_free
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_memory_allocate
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_Value_Interruption
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:618
SVM_Event_Queue_Address
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:240
SVM_Kernel
SVM_TYPE typedef const void * SVM_Kernel
This type is used to represent an atomic execution environment.
Definition: svm.h:284
SVM_Event_Queue
SVM_TYPE typedef const void * SVM_Event_Queue
This type is used as a complex synchronisation facility.
Definition: svm.h:233
SVM_Type
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:521
SVM_Process_State
SVM_Process_State
This type represents the status of a process.
Definition: svm.h:431
SVM_Code
SVM_TYPE typedef const void * SVM_Code
This type is used to represent a section of code of the SVM.
Definition: svm.h:270
SVM_LockGuard_Read
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:217
SVM_Value_String
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:548
SVM_Value_Pointer
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:570
SVM_Kernel_State
SVM_TYPE typedef SVM_Process_State SVM_Kernel_State
This type represents the status of a kernel.
Definition: svm.h:514
SVM_Structure
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:187
SVM_Value_Library
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:579
SVM_Value_Plugin
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:629
SVM_Boolean
SVM_Boolean
This type corresponds to a simple boolean.
Definition: svm.h:353
SVM_Value_PluginEntryPoint
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:605
SVM_Value_Symbol
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:592
SVM_Lock
SVM_TYPE typedef const void * SVM_Lock
This type is used as a simple synchronisation facility.
Definition: svm.h:210
SVM_Value_Automatic
SVM_TYPE typedef const void * SVM_Value_Automatic
This type is used to represent a null automatic value.
Definition: svm.h:638
SVM_AccessControl
SVM_TYPE typedef const void * SVM_AccessControl
This type is used to represent quotas on code execution.
Definition: svm.h:194
SVM_Size
SVM_TYPE typedef unsigned long int SVM_Size
This type is used to represent an object size.
Definition: svm.h:257
SVM_Debug_Form
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:327
SVM_Object_Level
SVM_Object_Level
This type corresponds to the level of definition of an object.
Definition: svm.h:450
SVM_Type_Internal
SVM_Type_Internal
This type corresponds to value types the SVM can store in its memory.
Definition: svm.h:366
SVM_Parameter
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:180
SVM_Memory_Zone
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:201
SVM_Interruption_Internal
SVM_Interruption_Internal
This type corresponds to interruption types the SVM can use to stop program executions.
Definition: svm.h:385
SVM_Process
SVM_TYPE typedef const void * SVM_Process
This type is used to represent an execution thread in the SVM.
Definition: svm.h:304
SVM_Process_Lock
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:311
SVM_Index
SVM_TYPE typedef unsigned long int SVM_Index
This type is used to represent an index.
Definition: svm.h:252
SVM_Scheduler
SVM_TYPE typedef const void * SVM_Scheduler
This type is used to represent an execution scheduler.
Definition: svm.h:320
SVM_Interruption_Kind
SVM_Interruption_Kind
This type represents the two major classes of interruptions the SVM can handle.
Definition: svm.h:407
SVM_Notification_Type
SVM_Notification_Type
This type represents the reason that triggered a callback call to a specific scheduler function.
Definition: svm.h:419
SVM_Variable
SVM_TYPE typedef const void * SVM_Variable
This type is used to represent any object managed by the SVM.
Definition: svm.h:171
SVM_Value_Boolean
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:557
SVM_Address
SVM_TYPE typedef unsigned long int SVM_Address
This type is used to represent:
Definition: svm.h:247
SVM_Value_Plugin_Comparison
SVM_Value_Plugin_Comparison
This type corresponds to the result of SVM_Value_Plugin comparison.
Definition: svm.h:484
SVM_LockGuard_Write
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:224
SVM_Value
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:530
SVM_Value_Integer
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:539
DEBUG
@ DEBUG
the process is blocked in a state it answers only to the debugger
Definition: svm.h:437
RUNNING
@ RUNNING
the process lets the processor of the current kernel executing instructions
Definition: svm.h:432
SUSPENDED
@ SUSPENDED
the process is in a light sleep, and can return in running mode anytime
Definition: svm.h:433
ERROR
@ ERROR
the process reached an invalid state
Definition: svm.h:440
CONTINUE
@ CONTINUE
the process is blocked in a state in which it will only accept an execution request
Definition: svm.h:435
ZOMBIE
@ ZOMBIE
the process has completed its execution and is not destroyed yet
Definition: svm.h:438
INTERRUPTED
@ INTERRUPTED
the process has completed its execution on a non-handled interruption
Definition: svm.h:439
LOCKED
@ LOCKED
the process is temporarly owned by someone and can not return in running mode
Definition: svm.h:436
WAITING
@ WAITING
the process is blocked in a state in which it may not answer to scheduler requests
Definition: svm.h:434
FALSE
@ FALSE
self-explained
Definition: svm.h:354
TRUE
@ TRUE
self-explained
Definition: svm.h:355
LOCAL
@ LOCAL
the object is located in the current state of the processor
Definition: svm.h:451
CASCADE
@ CASCADE
the object is located in the current state and all sub states of the processor
Definition: svm.h:452
GLOBAL
@ GLOBAL
the object is located in the processor
Definition: svm.h:453
AUTOMATIC
@ AUTOMATIC
generic type to be replaced at first assignation
Definition: svm.h:367
INTEGER
@ INTEGER
integer type corresponding to long long int
Definition: svm.h:368
LIBRARY
@ LIBRARY
library type corresponding to SVM_Code
Definition: svm.h:372
BOOLEAN
@ BOOLEAN
boolean type corresponding to SVM_Boolean
Definition: svm.h:370
INTERRUPTION
@ INTERRUPTION
interruption type corresponds to processor interruptions
Definition: svm.h:375
POINTER
@ POINTER
pointer type used to target memory zones
Definition: svm.h:371
SYMBOL
@ SYMBOL
symbol type used to target code location
Definition: svm.h:373
STRING
@ STRING
string type corresponding to SVM_String
Definition: svm.h:369
PLUGIN_ENTRY_POINT
@ PLUGIN_ENTRY_POINT
plugin entry point type used to identify a plugin object
Definition: svm.h:374
SECURITY
@ SECURITY
raised on security violation or quota overflow
Definition: svm.h:394
DEVICE
@ DEVICE
raised on SIGPIPE, SIGBUS
Definition: svm.h:387
PROCESSOR
@ PROCESSOR
raised on SIGILL or processor invalid action
Definition: svm.h:392
FIRST
@ FIRST
raised on SIGUSR1
Definition: svm.h:389
SECOND
@ SECOND
raised on SIGUSR2
Definition: svm.h:393
NUMERIC
@ NUMERIC
raised on SIGFPE
Definition: svm.h:391
CLONE
@ CLONE
raised on SIGCHLD
Definition: svm.h:386
TERMINATE
@ TERMINATE
raised on SIGTERM, SIGINT, SIGHUP, SIGALRM
Definition: svm.h:395
TERMINAL
@ TERMINAL
raised on SIGTTIN, SIGTTOU, SIGWINCH
Definition: svm.h:396
GENERIC
@ GENERIC
raised on all other signals
Definition: svm.h:397
MEMORY
@ MEMORY
raised on memory access failure
Definition: svm.h:390
FAILURE
@ FAILURE
raised on SIGABRT, SIGQUIT or generic failure in instruction
Definition: svm.h:388
SOFTWARE
@ SOFTWARE
the class of interruptions coming from instructions and execution errors
Definition: svm.h:408
HARDWARE
@ HARDWARE
the class of interruptions coming from the OS signals
Definition: svm.h:409
TIMER
@ TIMER
the callback has been triggered after a timer expiration
Definition: svm.h:421
NOTIFICATION
@ NOTIFICATION
the callback has been triggered manually by the plugin developper
Definition: svm.h:420
EQUIVALENCE_EQUAL
@ EQUIVALENCE_EQUAL
Used to specify that values are equal.
Definition: svm.h:485
EQUIVALENCE_DIFFERENT
@ EQUIVALENCE_DIFFERENT
Used to specify that values are different.
Definition: svm.h:486
ORDER_SUPERIOR
@ ORDER_SUPERIOR
Used to specify that left value is superior to right value.
Definition: svm.h:489
COMPARISON_STRONG
@ COMPARISON_STRONG
Used to specify that the real comparison has been computed.
Definition: svm.h:493
ORDER_PARTIAL
@ ORDER_PARTIAL
Used to specify that the order is partial (unused when an equivalence is used, set automatically when...
Definition: svm.h:492
ORDER_UNCOMPARABLE
@ ORDER_UNCOMPARABLE
Used to specify that left value and the right value can not be compared.
Definition: svm.h:490
COMPARISON_WEAK
@ COMPARISON_WEAK
Used to specify that an heuristic or arbitrary comparison has been computed.
Definition: svm.h:494
ORDER_TOTAL
@ ORDER_TOTAL
Used to specify that the order is total (unused when an equivalence is used)
Definition: svm.h:491
ORDER_INFERIOR
@ ORDER_INFERIOR
Used to specify that left value is inferior to right value.
Definition: svm.h:488
ORDER_EQUAL
@ ORDER_EQUAL
Used to specify that values are equal.
Definition: svm.h:487
SVM_FUNCTION
#define SVM_FUNCTION
Declares a monoline SVM API function.
Definition: svm.h:138
SVM_TYPE_BEGIN
#define SVM_TYPE_BEGIN
Declares the begining of a multiline SVM type.
Definition: svm.h:130
SVM_TYPE
#define SVM_TYPE
Declares a monoline SVM type.
Definition: svm.h:126
SVM_TYPE_END
#define SVM_TYPE_END
Declares the end of a multiline SVM type.
Definition: svm.h:134
svm_value_automatic_new_null
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_value_boolean_new
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_value_boolean_set
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_value_boolean_new__raw
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_value_boolean_get
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_value_boolean_set__raw
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_value_type_is_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_value_boolean_new_null
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_code_new
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_code_new__string
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_code_compile__raw
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_code_new__raw
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_code_compile
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_code_compile__string
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_code_get_size
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_code_instruction_get_text
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_code_instruction_is_system
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_code_instruction_is_waiting
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_code_instruction_get_location
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_code_get_name
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_code_get_source
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_code_print
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_api_get_signature
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_plugin_configure
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_debug_synchronise
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_debug_notify
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_debug_notify__raw
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_debug_break__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_debug_break
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_debug_break__raw
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_debug_notify__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_debug_form_append_selection
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_debug_form_new
SVM_FUNCTION SVM_Debug_Form svm_debug_form_new(const void *svm, const char *title)
This function creates a debugger form.
svm_debug_form_append_string__string
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_debug_form_append_checkbox__raw
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_debug_form_append_string
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_debug_form_request
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_debug_form_append_checkbox
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_debug_form_append_string__raw
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_debug_form_append_integer
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_debug_form_append_text
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_debug_form_append_integer__raw
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_debug_breakpoint_remove_memoryfree
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_debug_breakpoint_remove_interruption
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_debug_breakpoint_remove_memoryaccess
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_debug_breakpoint_remove_memoryread
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_debug_breakpoint_add_memorywrite
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_debug_breakpoint_add_memoryaccess
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_debug_breakpoint_remove_break
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_debug_breakpoint_add_break
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_debug_breakpoint_add_memoryread
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_debug_breakpoint_add_interruption
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_debug_breakpoint_remove_memorywrite
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_debug_breakpoint_add_memoryfree
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_variable_type_is_lockguardread
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_variable_type_is_kernel
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_variable_is_valid
SVM_FUNCTION SVM_Boolean svm_variable_is_valid(const void *svm, const SVM_Variable variable)
This function checks whether a variable is valid.
svm_variable_type_is_accesscontrol
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_variable_type_is_lock
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_variable_type_is_memoryzone
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_variable_type_is_code
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_variable_type_is_processlock
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_variable_type_is_structure
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_variable_type_is_eventqueue
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_variable_type_is_parameter
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_variable_type_is_scheduler
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_variable_type_is_process
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_variable_type_is_eventqueueaddress
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_variable_type_is_lockguardwrite
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_variable_type_is_value
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_processor_current_raise_error
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_processor_current_raise_error_external__raw
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_processor_current_raise_error_internal__raw
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_event_address_new
SVM_FUNCTION SVM_Event_Queue_Address svm_event_address_new(const void *svm)
This function creates an event queue address.
svm_event_address_get_struct
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_event_queue_new
SVM_FUNCTION SVM_Event_Queue svm_event_queue_new(const void *svm)
This function creates an event queue.
svm_event_address_new_struct
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_event_queue_leave
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_event_queue_check
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_event_queue_join
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_event_queue_push
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_event_address_has_struct
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_event_queue_check__raw
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_event_queue_broadcast
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_event_queue_pull
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_process_interrupt
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_process_suspend
SVM_FUNCTION void svm_process_suspend(const void *svm, const SVM_Process process)
This function requests the suspension of a process.
svm_process_terminate
SVM_FUNCTION void svm_process_terminate(const void *svm, const SVM_Process process)
This function requests the terminaison of a process.
svm_process_run__raw
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_process_run
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_process_pause
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_process_resume
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_kernel_suspend
SVM_FUNCTION void svm_kernel_suspend(const void *svm, const SVM_Kernel kernel)
This function asks a kernel for suspension.
svm_kernel_terminate
SVM_FUNCTION void svm_kernel_terminate(const void *svm, const SVM_Kernel kernel)
This function asks a kernel for terminaison.
svm_processor_call_global
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_processor_get_nextinstruction
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_processor_call_identical
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_processor_get_currentinstruction
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_processor_jump_global
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_processor_call_local
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_processor_current_sleep
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_processor_get_currentcode
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_processor_jump_local
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_processor_return
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_processor_current_sleep__raw
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_processor_current_shutdown
SVM_FUNCTION void svm_processor_current_shutdown(const void *svm)
This function shuts down the processor of the current kernel.
svm_processor_has_flag__string
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_processor_set_flag__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_processor_set_flag
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_processor_reset_flag__string
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_processor_reset_flag
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_processor_list_flag
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_processor_has_flag__raw
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_processor_set_flag__raw
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_processor_has_flag
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_processor_reset_flag__raw
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_get_prototype
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_call
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_kernel_new_symbol
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_kernel_new_code
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_kernel_get_current
SVM_FUNCTION SVM_Kernel svm_kernel_get_current(const void *svm)
This function retrieves the current kernel.
svm_kernel_get_process
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_process_new__raw
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_process_new_symbol__raw
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_process_new_code
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_process_new_symbol__string
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_process_get_current
SVM_FUNCTION SVM_Process svm_process_get_current(const void *svm)
This function retrieves the current process.
svm_process_new
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_process_new_symbol
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_process_new_code__raw
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_process_new_code__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_process_new__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_processor_instructionoverride_has_global
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_processor_instructionoverride_set_local
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_processor_instructionoverride_reset_local
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_processor_instructionoverride_has_local
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_processor_instructionoverride_set_global
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_processor_instructionoverride_reset_global
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_value_integer_new_null
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_value_integer_get
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_value_integer_new
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_value_type_is_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_value_integer_set
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_processor_hold_interruption
SVM_FUNCTION void svm_processor_hold_interruption(const void *svm, const SVM_Kernel kernel)
This function disables waiting interruptions handling of a processor.
svm_processor_set_currentinterruption
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_processor_interruptionhandler_set_global
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_processor_is_hardwareinterrupted
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_processor_interruptionhandler_get
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_processor_add_interruption
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_processor_clear_interruption
SVM_FUNCTION void svm_processor_clear_interruption(const void *svm, const SVM_Kernel kernel)
This function clears waiting interruptions of a processor.
svm_processor_interruptionhandler_has
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_processor_list_interruption
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_processor_interruptionhandler_reset
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_processor_release_interruption
SVM_FUNCTION void svm_processor_release_interruption(const void *svm, const SVM_Kernel kernel)
This function enables waiting interruptions handling of a processor.
svm_processor_interruptionhandler_set_local
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_processor_get_currentinterruption
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_value_interruption_set_external
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_value_interruption_new_external__string
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_value_interruption_new_internal__string
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_value_type_is_interruption
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_value_interruption_new_internal__raw
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_value_interruption_set_internal
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_value_interruption_is_internal
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_value_interruption_set
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_value_interruption_new_external__raw
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_value_interruption_get_message
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_value_interruption_set_internal__raw
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_value_interruption_get_kind
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_value_interruption_new_null
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_value_interruption_get_external
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_value_interruption_set_internal__string
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_value_interruption_is_external
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_value_interruption_set_external__string
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_value_interruption_get_location
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_value_interruption_new_internal
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_value_interruption_set_external__raw
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_value_interruption_new_external
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_value_interruption_get_internal
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_process_kernel_detach
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_process_kernel_attach
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_process_kernel_get_current
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_parameter_type_is_keyword
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_parameter_keyword_get
SVM_FUNCTION SVM_String svm_parameter_keyword_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a keyword.
svm_parameter_keyword_new
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_parameter_keyword_new__raw
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_code_label_has_address
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_code_label_has_address__string
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_code_label_get_address__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_code_label_list
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_code_label_has_address__raw
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_code_label_get_address
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_code_label_get_address__raw
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_value_library_set
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_value_library_new
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_value_library_get_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_value_library_set_code
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_value_library_new_null
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_value_type_is_library
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_lock_writeguard_new
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_lock_readguard_new
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_lock_new
SVM_FUNCTION SVM_Lock svm_lock_new(const void *svm)
This function creates a lock.
svm_machine_mode_is_debug
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_machine_config
SVM_FUNCTION SVM_String svm_machine_config(const void *svm, const char *key)
This function returns a value from the virtual machine installation.
svm_machine_trace__string
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_machine_list_interruption
SVM_FUNCTION SVM_Value_Interruption * svm_machine_list_interruption(const void *svm)
This function returns the list of available interruptions.
svm_machine_shutdown
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_machine_shutdown__raw
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_machine_mode_is_performance
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_machine_trace__raw
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_machine_trace
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_parameter_marker_find
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_parameter_marker_find_closing
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_parameter_marker_get
SVM_FUNCTION SVM_String svm_parameter_marker_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a marker.
svm_parameter_type_is_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_parameter_marker_find_separator
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_parameter_marker_new__raw
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_parameter_marker_find__raw
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_parameter_marker_new
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_memory_scope_set_local_alias__string
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_memory_scope_set_local_alias__raw
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_memory_scope_set_local
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_memory_scope_set_global_alias__raw
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_memory_scope_set_local_alias
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_memory_scope_set_global_alias
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_memory_scope_set_global_alias__string
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_memory_scope_set_global
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_processor_set_currentpointer
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_processor_get_currentpointer
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_memory_zone_get_type
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_memory_zone_get_size
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_memory_zone_find_memory_zone
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_memory_zone_append
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_memory_zone_remove_memory_zone
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_memory_zone_new
SVM_FUNCTION SVM_Memory_Zone svm_memory_zone_new(const void *svm)
This function creates an empty memory zone description.
svm_memory_zone_append_external
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_memory_zone_append_memory_zone
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_memory_zone_insert_memory_zone
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_memory_zone_append_internal
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_memory_zone_append_internal__raw
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_memory_zone_copy
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_memory_zone_print
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_memory_zone_replace_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_memory_zone_append_external__raw
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_memory_zone_append__raw
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_process_interruptionnotification_disable
SVM_FUNCTION void svm_process_interruptionnotification_disable(const void *svm, const SVM_Process process)
This function changes the process behavior on interruption event.
svm_process_interruptionnotification_wait
SVM_FUNCTION void svm_process_interruptionnotification_wait(const void *svm)
This function waits until the current process receives an interruption notification.
svm_process_interruptionnotification_send
SVM_FUNCTION void svm_process_interruptionnotification_send(const void *svm, const SVM_Process process)
This function sends an interruption notification to a process.
svm_process_interruptionnotification_enable
SVM_FUNCTION void svm_process_interruptionnotification_enable(const void *svm, const SVM_Process process)
This function changes the process behavior on interruption event.
svm_kernel_swap_memory
SVM_FUNCTION void svm_kernel_swap_memory(const void *svm, SVM_Kernel kernel1, SVM_Kernel kernel2)
This function swaps memories of two kernels.
svm_memory_copy
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_memory_address_shift__raw
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_memory_translate
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_memory_share
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_memory_address_shift
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_memory_move
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_process_ownership_lock
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_process_ownership_check
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_process_ownership_lock_critical
SVM_FUNCTION SVM_Process_Lock svm_process_ownership_lock_critical(const void *svm)
This function locks all other processes.
svm_process_ownership_get_local
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_parameter_array_new
SVM_FUNCTION SVM_Parameter * svm_parameter_array_new(const void *svm, const SVM_Size argc)
This function creates an array of parameters.
svm_plugin_has_option
SVM_FUNCTION SVM_Boolean svm_plugin_has_option(const void *svm, const SVM_Value_PluginEntryPoint option)
This function checks whether an option exists.
svm_plugin_get_option
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_plugin_get_arguments
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_plugin_get_argument
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_plugin_has_arguments
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_plugin_has_argument
SVM_FUNCTION SVM_Boolean svm_plugin_has_argument(const void *svm, const SVM_Value_PluginEntryPoint argument)
This function checks whether an argument exists.
svm_value_pluginentrypoint_get_plugin
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_value_pluginentrypoint_set_pluginentry
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_value_pluginentrypoint_set_entry__raw
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_value_pluginentrypoint_new__string
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_value_pluginentrypoint_set_plugin__raw
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_value_pluginentrypoint_new_prefix
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_value_pluginentrypoint_new
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_value_pluginentrypoint_set_entry
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_value_pluginentrypoint_set_plugin__string
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_value_pluginentrypoint_set_entry__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_value_pluginentrypoint_new_null
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_value_type_is_pluginentrypoint
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_value_pluginentrypoint_set_pluginentry__raw
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_value_pluginentrypoint_set
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_value_pluginentrypoint_set_plugin
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_value_pluginentrypoint_set_pluginentry__string
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_value_pluginentrypoint_get_entry
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_value_pluginentrypoint_new__raw
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_plugin_has_function_details
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_plugin_has_instruction
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_plugin_has_function
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_plugin_has_scheduler
SVM_FUNCTION SVM_Boolean svm_plugin_has_scheduler(const void *svm, const SVM_Value_PluginEntryPoint scheduler)
This function checks whether a scheduler exists.
svm_plugin_has_sequencer
SVM_FUNCTION SVM_Boolean svm_plugin_has_sequencer(const void *svm, const SVM_Value_PluginEntryPoint sequencer)
This function checks whether a sequencer exists.
svm_plugin_has_type
SVM_FUNCTION SVM_Boolean svm_plugin_has_type(const void *svm, const SVM_Value_PluginEntryPoint type)
This function checks whether a type exists.
svm_plugin_has_structure
SVM_FUNCTION SVM_Boolean svm_plugin_has_structure(const void *svm, const SVM_Value_PluginEntryPoint structure)
This function checks whether a structure exists.
svm_plugin_has_interruption
SVM_FUNCTION SVM_Boolean svm_plugin_has_interruption(const void *svm, const SVM_Value_PluginEntryPoint interruption)
This function checks whether an interruption exists.
svm_plugin_print
SVM_FUNCTION SVM_String svm_plugin_print(const void *svm)
This function extracts a string representation of all defined objects in plugins.
svm_value_plugin_new_const__raw
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_value_plugin_set
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_value_plugin_set_internal
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_value_type_is_plugin
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_value_plugin_new
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_value_plugin_get_internal
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_value_plugin_get_type
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_value_plugin_new_null
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_value_plugin_new_const
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_value_plugin_new_const__string
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_value_plugin_compare_convert
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_memory_pointer_set_zone
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_memory_pointer_list_alias
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_memory_pointer_expand_alias
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_memory_pointer_list_accessible
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_memory_pointer_has_alias
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_memory_pointer_get_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_value_pointer_new
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_value_pointer_get_size
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_value_pointer_set
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_value_pointer_set_size__raw
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_value_pointer_get_address
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_value_pointer_new_null
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_value_pointer_set_addresssize__raw
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_value_pointer_set_address__raw
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_value_pointer_set_addresssize
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_value_type_is_pointer
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_value_pointer_new__raw
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_value_pointer_set_address
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_value_pointer_set_size
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_memory_extract_pointer__raw
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_memory_read_pointer_zone
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_memory_read_pointer_type__raw
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_memory_extract_pointer
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_memory_read_pointer_type_external
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_memory_read_pointer_type
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_memory_read_address
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_memory_read_pointer_type_external__raw
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_memory_read_address_type_external
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_memory_read_address_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_memory_extract_address
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_memory_read_address_type_internal
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_memory_read_pointer_type_internal__raw
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_memory_read_pointer__raw
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_memory_read_pointer_zone__raw
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_memory_read_pointer
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_memory_read_pointer_type_internal
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_processor_returnstack_move_level
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_processor_returnstack_find_flag__string
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_processor_returnstack_get_size
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_processor_returnstack_find_flag
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_processor_returnstack_swap_level
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_processor_returnstack_find_flag__raw
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_process_has_scheduler
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_process_get_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_scheduler_notify
SVM_FUNCTION void svm_scheduler_notify(const void *svm, const SVM_Scheduler scheduler, const SVM_Value_Integer parameter)
This function sends a notification to a scheduler with an integer value parameter.
svm_scheduler_print
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_scheduler_notify__raw
SVM_FUNCTION void svm_scheduler_notify__raw(const void *svm, const SVM_Scheduler scheduler, const unsigned long int parameter)
This function sends a notification to a scheduler with a raw integer parameter.
svm_scheduler_process_attach__raw
SVM_FUNCTION SVM_Boolean svm_scheduler_process_attach__raw(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const unsigned long int parameter)
This function attaches a process to a scheduler with a raw integer parameter.
svm_scheduler_process_attach
SVM_FUNCTION SVM_Boolean svm_scheduler_process_attach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Value_Integer parameter)
This function attaches a process to a scheduler with an integer value parameter.
svm_scheduler_process_detach
SVM_FUNCTION SVM_Boolean svm_scheduler_process_detach(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const SVM_Value_Integer parameter)
This function detaches a process from a scheduler with an integer value parameter.
svm_scheduler_get_current
SVM_FUNCTION SVM_Scheduler svm_scheduler_get_current(const void *svm)
This function retrieves the current scheduler.
svm_scheduler_process_detach__raw
SVM_FUNCTION SVM_Boolean svm_scheduler_process_detach__raw(const void *svm, const SVM_Scheduler scheduler, const SVM_Process process, const unsigned long int parameter)
This function detaches a process from a scheduler with a raw integer parameter.
svm_scheduler_get
SVM_FUNCTION SVM_Scheduler svm_scheduler_get(const void *svm, const SVM_Value_PluginEntryPoint name)
This function retrieves a scheduler from its name.
svm_scheduler_get_internal
SVM_FUNCTION void * svm_scheduler_get_internal(const void *svm, const SVM_Scheduler scheduler)
This function extracts the internal structure of a scheduler.
svm_variable_scope_set_local
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_variable_scope_is_global
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_variable_scope_is_local
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_variable_scope_set_shared
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_variable_scope_reset_shared
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_variable_scope_is_shared
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_variable_scope_set_global
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_process_get_sequencer
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_process_sequencer_print
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_process_sequencer_get_internal
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_kernel_get_coredump
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_kernel_get_state
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_kernel_set_accesscontrol
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_kernel_get_accesscontrol
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_kernel_has_lastreturnisshutdown
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_kernel_has_protectedmode
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_kernel_get_interruption
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_kernel_has_transmitinterruption
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_kernel_is_runnable
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_kernel_print
SVM_FUNCTION SVM_String svm_kernel_print(const void *svm, const SVM_Kernel kernel)
This function returns a string representation of the kernel.
svm_kernel_is_terminated
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_process_get_coredump
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_process_get_name
SVM_FUNCTION SVM_String svm_process_get_name(const void *svm, const SVM_Process process)
This function retrieves the name of a process.
svm_process_get_interruption
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_process_get_state
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_process_print
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_string_new
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_string_is_equal__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_string_new__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_string_join__raw
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_string_join__buffer
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_string_join
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_string_is_equal
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_string_new__raw
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_string_is_equal__raw
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_value_string_get
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_value_string_new__buffer
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_value_string_set
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_value_string_new__raw
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_value_string_set__buffer
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_value_string_new
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_value_type_is_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_value_string_set__raw
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_value_string_new_null
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_parameter_structure_get
SVM_FUNCTION SVM_Structure svm_parameter_structure_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a structure.
svm_parameter_structure_new
SVM_FUNCTION SVM_Parameter svm_parameter_structure_new(const void *svm, const SVM_Structure structure)
This function creates a parameter from a structure.
svm_parameter_type_is_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_structure_new_null
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_structure_get_internal
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_structure_get_type
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_structure_new
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_structure_copy
SVM_FUNCTION SVM_Structure svm_structure_copy(const void *svm, const SVM_Structure structure)
This function copies a structure.
svm_code_symbol_get_address
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_code_symbol_has_address
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_code_symbol_has_address__raw
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_code_symbol_get_address__raw
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_code_symbol_get_address__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_code_symbol_list
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_code_symbol_has_address__string
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_value_symbol_set_codeaddress
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_value_type_is_symbol
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_value_symbol_new
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_value_symbol_get_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_value_symbol_new_null
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_value_symbol_set_address
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_value_symbol_get_location
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_value_symbol_set_code
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_value_symbol_set
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_value_symbol_get_code
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_memory_synchronisation_disable
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_memory_synchronisation_enable
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_type_get_external
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_type_compare
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_type_equal_external
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_type_get_internal
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_type_is_internal
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_type_print
SVM_FUNCTION SVM_String svm_type_print(const void *svm, const SVM_Type type)
This function renders a type as a string.
svm_type_new_external
SVM_FUNCTION SVM_Type svm_type_new_external(const void *svm, const SVM_Value_PluginEntryPoint external)
This function creates an external value type.
svm_type_equal_internal
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_type_new_internal
SVM_FUNCTION SVM_Type svm_type_new_internal(const void *svm, const SVM_Type_Internal internal)
This function creates an internal value type.
svm_type_is_external
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_type_copy
SVM_FUNCTION SVM_Type svm_type_copy(const void *svm, const SVM_Type type)
This function creates a copy of a type.
svm_parameter_value_new
SVM_FUNCTION SVM_Parameter svm_parameter_value_new(const void *svm, const SVM_Value value)
This function creates a parameter from a value.
svm_parameter_value_get
SVM_FUNCTION SVM_Value svm_parameter_value_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a value.
svm_parameter_type_is_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_value_compare
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_value_print
SVM_FUNCTION SVM_String svm_value_print(const void *svm, const SVM_Value value)
This function extracts a string representation of a value.
svm_value_array_new
SVM_FUNCTION SVM_Value * svm_value_array_new(const void *svm, SVM_Size size)
This function creates an array of values.
svm_value_copy
SVM_FUNCTION SVM_Value svm_value_copy(const void *svm, const SVM_Value value)
This function creates a copy from a value.
svm_value_is_equal
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_value_state_set_movable
SVM_FUNCTION SVM_Boolean svm_value_state_set_movable(const void *svm, const SVM_Value value)
This function flags a value as movable.
svm_value_state_is_constant
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_value_state_is_movable
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_value_state_is_null
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_value_type_get
SVM_FUNCTION SVM_Type svm_value_type_get(const void *svm, const SVM_Value value)
This function extracts the type from a value.
svm_value_type_print
SVM_FUNCTION SVM_String svm_value_type_print(const void *svm, const SVM_Value value)
This function prints the type from a value.
svm_parameter_variable_new
SVM_FUNCTION SVM_Parameter svm_parameter_variable_new(const void *svm, const SVM_Variable variable)
This function creates a parameter from a variable.
svm_parameter_type_is_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_parameter_variable_get
SVM_FUNCTION SVM_Variable svm_parameter_variable_get(const void *svm, const SVM_Parameter parameter)
This function converts a parameter into a variable.
svm_variable_array_new
SVM_FUNCTION SVM_Variable * svm_variable_array_new(const void *svm, SVM_Size size)
This function creates an array of variables.
svm_variable_delete
SVM_FUNCTION void svm_variable_delete(const void *svm, const SVM_Variable variable)
This function alters the scope of the given variable.
svm_memory_write_pointer__raw
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_memory_write_address
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_memory_write_pointer
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.
SVM_Comparison_Result
Definition: svm.h:462
SVM_Comparison_Result::type
SVM_Boolean type
TRUE when values types does not have the same type, FALSE otherwise.
Definition: svm.h:472
SVM_Comparison_Result::null
SVM_Boolean null
TRUE when at least one value was null, FALSE otherwise.
Definition: svm.h:473
SVM_Comparison_Result::superior_or_equal
SVM_Boolean superior_or_equal
TRUE when comparison is an order and left value is superior or equal to right value,...
Definition: svm.h:468
SVM_Comparison_Result::inferior
SVM_Boolean inferior
TRUE when comparison is an order and left value is inferior to right value, FALSE otherwise.
Definition: svm.h:465
SVM_Comparison_Result::equal
SVM_Boolean equal
TRUE when values are equal, FALSE otherwise.
Definition: svm.h:463
SVM_Comparison_Result::inferior_or_equal
SVM_Boolean inferior_or_equal
TRUE when comparison is an order and left value is inferior or equal to right value,...
Definition: svm.h:466
SVM_Comparison_Result::order
SVM_Boolean order
TRUE when comparison supports ordering, FALSE when comparison supports only equivalence.
Definition: svm.h:469
SVM_Comparison_Result::different
SVM_Boolean different
TRUE when values are different, FALSE otherwise.
Definition: svm.h:464
SVM_Comparison_Result::superior
SVM_Boolean superior
TRUE when comparison is an order and left value is superior to right value, FALSE otherwise.
Definition: svm.h:467
SVM_Comparison_Result::weak
SVM_Boolean weak
TRUE when values are not comparables (a fallback arbitrary comparison is used instead),...
Definition: svm.h:471
SVM_Comparison_Result::total
SVM_Boolean total
TRUE when comparison is an order and this comparison is total, FALSE otherwise.
Definition: svm.h:470
SVM_Status_Boolean
Definition: svm.h:503
SVM_Status_Boolean::_details
SVM_String _details
Contains additional human readable details.
Definition: svm.h:505
SVM_Status_Boolean::_value
SVM_Boolean _value
Contains the status value.
Definition: svm.h:504
SVM_String
Definition: svm.h:334
SVM_String::size
SVM_Size size
Definition: svm.h:342
SVM_String::string
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:335