/* * This file is part of Beastie * SPDX-FileCopyrightText: 2025 Norman Gray * SPDX-License-Identifier: BSD-2-Clause */ #ifndef UNICODE_SCM_H #define UNICODE_SCM_H 1 #include "unicode.h" s7_pointer unicode_load_hook(s7_scheme* sc, s7_pointer args); // the ..._proc functions here are to be defined as scheme functions; // the other functions are to support C code. int is_unicode_reader_p(s7_pointer obj); s7_pointer is_unicode_reader_proc(s7_scheme* sc, s7_pointer args); s7_pointer make_unicode_reader_file_proc(s7_scheme* sc, s7_pointer args); s7_pointer make_unicode_reader_string_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_reader_read_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_decode_utf8_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_decode1_port_utf8_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_encode_utf8_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_encode1_utf8_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_reader_source_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_reader_location_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_reader_location(s7_scheme* sc, unicode_reader* reader); // for other C code int unicode_reader_same_source_p(s7_scheme* sc, unicode_reader* r1, unicode_reader* r2); s7_pointer make_ustring_obj(s7_scheme* sc, ustring_t us); s7_pointer make_ustring_proc(s7_scheme* sc, s7_pointer args); s7_pointer is_ustring_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_length_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_append_inplace_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_append_new_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_car_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_ref_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_substring_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_index_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_map_internal_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_cache_object_get_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_cache_object_set_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_to_string_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_to_symbol_proc(s7_scheme* sc, s7_pointer args); s7_pointer symbol_to_ustring_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_is_equal_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_lt_proc(s7_scheme* sc, s7_pointer args); s7_pointer ustring_hash_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_set_locale_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_get_locale_proc(s7_scheme* sc, s7_pointer args); s7_pointer unicode_get_locale_list_proc(s7_scheme* sc, s7_pointer args); s7_pointer make_ustring_iterator_proc(s7_scheme* sc, s7_pointer args); #endif // UNICODE_SCM_H