Lichen

templates/native.h

206:1a64c775111a
2016-11-22 Paul Boddie Fixed fragment allocation in the native functions and added some list and buffer operations, extending the buffer class. Eventually, buffer and list may be combined in some way.
     1 #ifndef __NATIVE_H__     2 #define __NATIVE_H__     3      4 /* Native functions. */     5      6 __attr __fn_native__exit(__attr __args[]);     7 __attr __fn_native__get_argv(__attr __args[]);     8 __attr __fn_native__get_path(__attr __args[]);     9     10 __attr __fn_native__is(__attr __args[]);    11 __attr __fn_native__is_not(__attr __args[]);    12     13 __attr __fn_native__int_add(__attr __args[]);    14 __attr __fn_native__int_div(__attr __args[]);    15 __attr __fn_native__int_mod(__attr __args[]);    16 __attr __fn_native__int_mul(__attr __args[]);    17 __attr __fn_native__int_pow(__attr __args[]);    18 __attr __fn_native__int_sub(__attr __args[]);    19     20 __attr __fn_native__int_and(__attr __args[]);    21 __attr __fn_native__int_or(__attr __args[]);    22 __attr __fn_native__int_xor(__attr __args[]);    23     24 __attr __fn_native__int_rdiv(__attr __args[]);    25 __attr __fn_native__int_rmod(__attr __args[]);    26 __attr __fn_native__int_rpow(__attr __args[]);    27 __attr __fn_native__int_rsub(__attr __args[]);    28     29 __attr __fn_native__int_lt(__attr __args[]);    30 __attr __fn_native__int_gt(__attr __args[]);    31 __attr __fn_native__int_eq(__attr __args[]);    32 __attr __fn_native__int_ne(__attr __args[]);    33     34 __attr __fn_native__int_str(__attr __args[]);    35     36 __attr __fn_native__str_add(__attr __args[]);    37 __attr __fn_native__str_lt(__attr __args[]);    38 __attr __fn_native__str_gt(__attr __args[]);    39 __attr __fn_native__str_eq(__attr __args[]);    40 __attr __fn_native__str_len(__attr __args[]);    41 __attr __fn_native__str_nonempty(__attr __args[]);    42     43 __attr __fn_native__list_init(__attr __args[]);    44 __attr __fn_native__list_append(__attr __args[]);    45 __attr __fn_native__list_concat(__attr __args[]);    46 __attr __fn_native__list_len(__attr __args[]);    47 __attr __fn_native__list_nonempty(__attr __args[]);    48 __attr __fn_native__list_element(__attr __args[]);    49 __attr __fn_native__list_to_tuple(__attr __args[]);    50     51 __attr __fn_native__buffer_str(__attr __args[]);    52     53 __attr __fn_native__tuple_init(__attr __args[]);    54 __attr __fn_native__tuple_len(__attr __args[]);    55 __attr __fn_native__tuple_element(__attr __args[]);    56     57 __attr __fn_native__isinstance(__attr __args[]);    58     59 __attr __fn_native__read(__attr __args[]);    60 __attr __fn_native__write(__attr __args[]);    61     62 /* Module initialisation. */    63     64 void __main_native();    65     66 #endif /* __NATIVE_H__ */