Lichen

templates/native.h

303:c07a749f5bd0
2016-12-02 Paul Boddie Use __data__ attributes with native functions apart from when __data__ needs replacing (such as in the list append and concatenation functions).
     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_neg(__attr __args[]);    18 __attr __fn_native__int_pow(__attr __args[]);    19 __attr __fn_native__int_sub(__attr __args[]);    20     21 __attr __fn_native__int_and(__attr __args[]);    22 __attr __fn_native__int_or(__attr __args[]);    23 __attr __fn_native__int_xor(__attr __args[]);    24     25 __attr __fn_native__int_rdiv(__attr __args[]);    26 __attr __fn_native__int_rmod(__attr __args[]);    27 __attr __fn_native__int_rpow(__attr __args[]);    28 __attr __fn_native__int_rsub(__attr __args[]);    29     30 __attr __fn_native__int_lt(__attr __args[]);    31 __attr __fn_native__int_gt(__attr __args[]);    32 __attr __fn_native__int_eq(__attr __args[]);    33 __attr __fn_native__int_ne(__attr __args[]);    34     35 __attr __fn_native__int_str(__attr __args[]);    36     37 __attr __fn_native__str_add(__attr __args[]);    38 __attr __fn_native__str_lt(__attr __args[]);    39 __attr __fn_native__str_gt(__attr __args[]);    40 __attr __fn_native__str_eq(__attr __args[]);    41 __attr __fn_native__str_len(__attr __args[]);    42 __attr __fn_native__str_nonempty(__attr __args[]);    43 __attr __fn_native__str_ord(__attr __args[]);    44 __attr __fn_native__str_substr(__attr __args[]);    45     46 __attr __fn_native__list_init(__attr __args[]);    47 __attr __fn_native__list_setsize(__attr __args[]);    48 __attr __fn_native__list_append(__attr __args[]);    49 __attr __fn_native__list_concat(__attr __args[]);    50 __attr __fn_native__list_len(__attr __args[]);    51 __attr __fn_native__list_nonempty(__attr __args[]);    52 __attr __fn_native__list_element(__attr __args[]);    53 __attr __fn_native__list_setelement(__attr __args[]);    54     55 __attr __fn_native__dict_init(__attr __args[]);    56 __attr __fn_native__dict_items(__attr __args[]);    57 __attr __fn_native__dict_buckets(__attr __args[]);    58 __attr __fn_native__dict_bucketsize(__attr __args[]);    59 __attr __fn_native__dict_keys(__attr __args[]);    60 __attr __fn_native__dict_values(__attr __args[]);    61 __attr __fn_native__dict_key(__attr __args[]);    62 __attr __fn_native__dict_value(__attr __args[]);    63 __attr __fn_native__dict_additem(__attr __args[]);    64 __attr __fn_native__dict_setitem(__attr __args[]);    65     66 __attr __fn_native__buffer_str(__attr __args[]);    67     68 __attr __fn_native__get_using(__attr __args[]);    69     70 __attr __fn_native__object_getattr(__attr __args[]);    71     72 __attr __fn_native__isinstance(__attr __args[]);    73 __attr __fn_native__issubclass(__attr __args[]);    74     75 __attr __fn_native__read(__attr __args[]);    76 __attr __fn_native__write(__attr __args[]);    77     78 /* Module initialisation. */    79     80 void __main_native();    81     82 #endif /* __NATIVE_H__ */