/* * List of all relocatable machine pointers * Bruno Haible 1990-2008, 2017 * Sam Steingold 2005, 2007 */ /* There are three kinds of relocatable pointers: LPSEUDOCODE(fun) local C function defined in stream.d XPSEUDOCODE(rettype,name,arglist) external C function XPSEUDODATA(type,name) external C variable The macro PSEUDO, defined in the including file, determines the macro expansion for these macros. #define PSEUDO PSEUDO_A for the declaration of the code table #define PSEUDO PSEUDO_B for the declaration of the data table #define PSEUDO PSEUDO_C for the declaration of both tables' elements #define PSEUDO PSEUDO_D for the initialization of the code table #define PSEUDO PSEUDO_E for the initialization of the data table #define PSEUDO PSEUDO_F for the initialization of the code name table #define PSEUDO PSEUDO_G for the initialization of the data name table When a source file defines symbols used in this file, it must be compiled with FALIGNFLAGS. When you add a new file, update makemake.in accordingly. */ #define LPSEUDOCODE CONCAT(LCODE_,PSEUDO) #define XPSEUDOCODE CONCAT(XCODE_,PSEUDO) #define XPSEUDODATA CONCAT(XDATA_,PSEUDO) #define LCODE_PSEUDO_A(fun) Pseudofun pseudo_##fun; #define LCODE_PSEUDO_B(fun) #define LCODE_PSEUDO_C(fun) #define LCODE_PSEUDO_D(fun) (Pseudofun)(&fun), #define LCODE_PSEUDO_E(fun) #define LCODE_PSEUDO_F(fun) STRING(fun), #define LCODE_PSEUDO_G(fun) #define XCODE_PSEUDO_A(rettype,name,arglist) Pseudofun pseudo_##name; #define XCODE_PSEUDO_B(rettype,name,arglist) #define XCODE_PSEUDO_C(rettype,name,arglist) extern rettype name arglist; #define XCODE_PSEUDO_D(rettype,name,arglist) (Pseudofun)(&name), #define XCODE_PSEUDO_E(rettype,name,arglist) #define XCODE_PSEUDO_F(rettype,name,arglist) STRING(name), #define XCODE_PSEUDO_G(rettype,name,arglist) #define XDATA_PSEUDO_A(type,name) #define XDATA_PSEUDO_B(type,name) Pseudofun pseudo_##name; #define XDATA_PSEUDO_C(type,name) extern type name; #define XDATA_PSEUDO_D(type,name) #define XDATA_PSEUDO_E(type,name) (Pseudofun)(&name), #define XDATA_PSEUDO_F(type,name) #define XDATA_PSEUDO_G(type,name) STRING(name), /* Defined in predtype.d, for hashtabl.d. */ XPSEUDOCODE(bool, eql, (object obj1, object obj2)) XPSEUDOCODE(bool, equal, (object obj1, object obj2)) XPSEUDOCODE(bool, equalp, (object obj1, object obj2)) /* Defined in hashtabl.d. */ XPSEUDOCODE(uint32, hashcode1stable, (object obj)) XPSEUDOCODE(uint32, hashcode2, (object obj)) XPSEUDOCODE(uint32, hashcode2stable, (object obj)) XPSEUDOCODE(uint32, hashcode3, (object obj)) XPSEUDOCODE(uint32, hashcode3stable, (object obj)) XPSEUDOCODE(uint32, hashcode4, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode1_p, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode1stable_p, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode2_p, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode2stable_p, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode3_p, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode3stable_p, (object obj)) XPSEUDOCODE(bool, gcinvariant_hashcode4_p, (object obj)) XPSEUDOCODE(bool, hash_lookup_builtin, (object ht, object obj, bool allowgc, gcv_object_t** KVptr_, gcv_object_t** Iptr_)) #ifndef GENERATIONAL_GC XPSEUDOCODE(bool, hash_lookup_builtin_with_rehash, (object ht, object obj, bool allowgc, gcv_object_t** KVptr_, gcv_object_t** Iptr_)) #endif XPSEUDOCODE(bool, hash_lookup_user, (object ht, object obj, bool allowgc, gcv_object_t** KVptr_, gcv_object_t** Iptr_)) /* Defined in stream.d. */ LPSEUDOCODE(rd_by_error) LPSEUDOCODE(rd_by_array_error) LPSEUDOCODE(rd_by_array_dummy) LPSEUDOCODE(wr_by_error) LPSEUDOCODE(wr_by_array_error) LPSEUDOCODE(wr_by_array_dummy) LPSEUDOCODE(rd_ch_error) LPSEUDOCODE(pk_ch_dummy) LPSEUDOCODE(rd_ch_array_error) LPSEUDOCODE(rd_ch_array_dummy) LPSEUDOCODE(wr_ch_error) LPSEUDOCODE(wr_ch_array_error) LPSEUDOCODE(wr_ch_array_dummy) LPSEUDOCODE(wr_ch_pending_newline) LPSEUDOCODE(wr_ch_array_pending_newline) LPSEUDOCODE(rd_by_synonym) LPSEUDOCODE(rd_by_array_synonym) LPSEUDOCODE(wr_by_synonym) LPSEUDOCODE(wr_by_array_synonym) LPSEUDOCODE(rd_ch_synonym) LPSEUDOCODE(pk_ch_synonym) LPSEUDOCODE(rd_ch_array_synonym) LPSEUDOCODE(wr_ch_synonym) LPSEUDOCODE(wr_ch_array_synonym) LPSEUDOCODE(wr_by_broad) LPSEUDOCODE(wr_by_array_broad) LPSEUDOCODE(wr_ch_broad) LPSEUDOCODE(wr_ch_array_broad) LPSEUDOCODE(rd_by_concat) LPSEUDOCODE(rd_by_array_concat) LPSEUDOCODE(rd_ch_concat) LPSEUDOCODE(pk_ch_concat) LPSEUDOCODE(rd_ch_array_concat) LPSEUDOCODE(wr_by_twoway) LPSEUDOCODE(wr_by_array_twoway) LPSEUDOCODE(wr_ch_twoway) LPSEUDOCODE(wr_ch_array_twoway) LPSEUDOCODE(rd_by_twoway) LPSEUDOCODE(rd_by_array_twoway) LPSEUDOCODE(rd_ch_twoway) LPSEUDOCODE(pk_ch_twoway) LPSEUDOCODE(rd_ch_array_twoway) LPSEUDOCODE(rd_by_echo) LPSEUDOCODE(rd_by_array_echo) LPSEUDOCODE(rd_ch_echo) LPSEUDOCODE(rd_ch_array_echo) LPSEUDOCODE(rd_ch_str_in) LPSEUDOCODE(rd_ch_array_str_in) LPSEUDOCODE(wr_ch_str_out) LPSEUDOCODE(wr_ch_array_str_out) LPSEUDOCODE(wr_ch_str_push) LPSEUDOCODE(wr_ch_pphelp) LPSEUDOCODE(wr_ch_array_pphelp) LPSEUDOCODE(rd_ch_buff_in) LPSEUDOCODE(wr_ch_buff_out) #ifdef GENERIC_STREAMS LPSEUDOCODE(rd_ch_generic) LPSEUDOCODE(pk_ch_generic) LPSEUDOCODE(wr_ch_generic) LPSEUDOCODE(wr_ch_array_generic) LPSEUDOCODE(rd_by_generic) LPSEUDOCODE(wr_by_generic) #endif LPSEUDOCODE(rd_by_iau_unbuffered) LPSEUDOCODE(rd_by_ias_unbuffered) LPSEUDOCODE(rd_by_iau8_unbuffered) LPSEUDOCODE(rd_by_array_iau8_unbuffered) LPSEUDOCODE(wr_by_iau_unbuffered) LPSEUDOCODE(wr_by_ias_unbuffered) LPSEUDOCODE(wr_by_iau8_unbuffered) LPSEUDOCODE(wr_by_array_iau8_unbuffered) LPSEUDOCODE(rd_ch_unbuffered) LPSEUDOCODE(rd_ch_array_unbuffered) LPSEUDOCODE(wr_ch_unbuffered_unix) LPSEUDOCODE(wr_ch_array_unbuffered_unix) LPSEUDOCODE(wr_ch_unbuffered_mac) LPSEUDOCODE(wr_ch_array_unbuffered_mac) LPSEUDOCODE(wr_ch_unbuffered_dos) LPSEUDOCODE(wr_ch_array_unbuffered_dos) LPSEUDOCODE(rd_ch_buffered) LPSEUDOCODE(rd_ch_array_buffered) LPSEUDOCODE(wr_ch_buffered_unix) LPSEUDOCODE(wr_ch_array_buffered_unix) LPSEUDOCODE(wr_ch_buffered_mac) LPSEUDOCODE(wr_ch_array_buffered_mac) LPSEUDOCODE(wr_ch_buffered_dos) LPSEUDOCODE(wr_ch_array_buffered_dos) LPSEUDOCODE(rd_by_iau_buffered) LPSEUDOCODE(rd_by_ias_buffered) LPSEUDOCODE(rd_by_ibu_buffered) LPSEUDOCODE(rd_by_ibs_buffered) LPSEUDOCODE(rd_by_icu_buffered) LPSEUDOCODE(rd_by_ics_buffered) LPSEUDOCODE(rd_by_iau8_buffered) LPSEUDOCODE(rd_by_array_iau8_buffered) LPSEUDOCODE(wr_by_iau_buffered) LPSEUDOCODE(wr_by_ias_buffered) LPSEUDOCODE(wr_by_ibu_buffered) LPSEUDOCODE(wr_by_ibs_buffered) LPSEUDOCODE(wr_by_icu_buffered) LPSEUDOCODE(wr_by_ics_buffered) LPSEUDOCODE(wr_by_iau8_buffered) LPSEUDOCODE(wr_by_array_iau8_buffered) #if defined(KEYBOARD) LPSEUDOCODE(rd_ch_keyboard) #endif #ifdef UNIX LPSEUDOCODE(wr_ch_terminal1) LPSEUDOCODE(rd_ch_terminal1) LPSEUDOCODE(wr_ch_array_terminal1) #if defined(GNU_READLINE) LPSEUDOCODE(wr_ch_terminal3) LPSEUDOCODE(rd_ch_terminal3) LPSEUDOCODE(wr_ch_array_terminal3) #endif #endif #ifdef SCREEN LPSEUDOCODE(wr_ch_window) #endif #ifdef PRINTER LPSEUDOCODE(wr_ch_printer) #endif /* External definitions from ENCODING.D: */ #ifdef ENABLE_UNICODE XPSEUDOCODE(object, base64_range, (object encoding, uintL start, uintL end, uintL maxintervals)) XPSEUDOCODE(uintL, base64_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, base64_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, base64_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, base64_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(object, all_range, (object encoding, uintL start, uintL end, uintL maxintervals)) XPSEUDOCODE(object, bmp_range, (object encoding, uintL start, uintL end, uintL maxintervals)) XPSEUDOCODE(uintL, uni16_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, uni16be_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(void, uni16le_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, uni16_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, uni16be_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(void, uni16le_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(uintL, uni32be_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(uintL, uni32le_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, uni32be_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(void, uni32le_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, uni32_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, uni32be_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(void, uni32le_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(uintL, utf8_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, utf8_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, utf8_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, utf8_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(uintL, java_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, java_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, java_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, java_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(uintL, nls_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, nls_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, nls_asciiext_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, nls_asciiext_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, nls_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, nls_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(uintL, nls_asciiext_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, nls_asciiext_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(object, nls_range, (object encoding, uintL start, uintL end, uintL maxintervals)) XPSEUDODATA(struct nls_table_t, nls_ascii_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_1_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_2_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_3_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_4_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_5_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_6_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_7_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_8_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_9_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_10_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_13_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_14_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_15_table) XPSEUDODATA(struct nls_table_t, nls_iso8859_16_table) XPSEUDODATA(struct nls_table_t, nls_koi8_r_table) XPSEUDODATA(struct nls_table_t, nls_koi8_u_table) XPSEUDODATA(struct nls_table_t, nls_mac_arabic_table) XPSEUDODATA(struct nls_table_t, nls_mac_centraleurope_table) XPSEUDODATA(struct nls_table_t, nls_mac_croatian_table) XPSEUDODATA(struct nls_table_t, nls_mac_cyrillic_table) XPSEUDODATA(struct nls_table_t, nls_mac_dingbat_table) XPSEUDODATA(struct nls_table_t, nls_mac_greek_table) XPSEUDODATA(struct nls_table_t, nls_mac_hebrew_table) XPSEUDODATA(struct nls_table_t, nls_mac_iceland_table) XPSEUDODATA(struct nls_table_t, nls_mac_roman_table) XPSEUDODATA(struct nls_table_t, nls_mac_romania_table) XPSEUDODATA(struct nls_table_t, nls_mac_symbol_table) XPSEUDODATA(struct nls_table_t, nls_mac_thai_table) XPSEUDODATA(struct nls_table_t, nls_mac_turkish_table) XPSEUDODATA(struct nls_table_t, nls_mac_ukraine_table) XPSEUDODATA(struct nls_table_t, nls_cp437_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp437_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp737_table) XPSEUDODATA(struct nls_table_t, nls_cp775_table) XPSEUDODATA(struct nls_table_t, nls_cp850_table) XPSEUDODATA(struct nls_table_t, nls_cp852_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp852_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp855_table) XPSEUDODATA(struct nls_table_t, nls_cp857_table) XPSEUDODATA(struct nls_table_t, nls_cp860_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp860_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp861_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp861_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp862_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp862_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp863_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp863_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp864_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp864_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp865_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp865_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp866_table) XPSEUDODATA(struct nls_table_t, nls_cp869_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp869_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp874_ms_table) XPSEUDODATA(struct nls_table_t, nls_cp874_ibm_table) XPSEUDODATA(struct nls_table_t, nls_cp1250_table) XPSEUDODATA(struct nls_table_t, nls_cp1251_table) XPSEUDODATA(struct nls_table_t, nls_cp1252_table) XPSEUDODATA(struct nls_table_t, nls_cp1253_table) XPSEUDODATA(struct nls_table_t, nls_cp1254_table) XPSEUDODATA(struct nls_table_t, nls_cp1256_table) XPSEUDODATA(struct nls_table_t, nls_cp1257_table) XPSEUDODATA(struct nls_table_t, nls_hp_roman8_table) XPSEUDODATA(struct nls_table_t, nls_jisx0201_table) #ifdef HAVE_GOOD_ICONV XPSEUDOCODE(uintL, iconv_mblen, (object encoding, const uintB* src, const uintB* srcend)) XPSEUDOCODE(void, iconv_mbstowcs, (object encoding, object stream, const uintB* *srcp, const uintB* srcend, chart* *destp, chart* destend)) XPSEUDOCODE(uintL, iconv_wcslen, (object encoding, const chart* src, const chart* srcend)) XPSEUDOCODE(void, iconv_wcstombs, (object encoding, object stream, const chart* *srcp, const chart* srcend, uintB* *destp, uintB* destend)) XPSEUDOCODE(object, iconv_range, (object encoding, uintL start, uintL end, uintL maxintervals)) #endif #endif