From a9ba8fbdc2c93780605d4a99260df7e0002f7ed9 Mon Sep 17 00:00:00 2001 From: Frank Lahm Date: Wed, 30 May 2012 19:56:37 +0200 Subject: [PATCH] Add ABI checking to libatalk build --- abigen.sh | 21 ++ libatalk/.gitignore | 2 +- libatalk/Makefile.am | 45 ++- libatalk/libatalk-3.0beta1.abi | 550 +++++++++++++++++++++++++++++++++ libatalk/libatalk-3.0dev.abi | 550 +++++++++++++++++++++++++++++++++ 5 files changed, 1164 insertions(+), 4 deletions(-) create mode 100755 abigen.sh create mode 100644 libatalk/libatalk-3.0beta1.abi create mode 100644 libatalk/libatalk-3.0dev.abi diff --git a/abigen.sh b/abigen.sh new file mode 100755 index 00000000..ed6f4455 --- /dev/null +++ b/abigen.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# generate a set of ABI signatures from a shared library + +SHAREDLIB="$1" + +GDBSCRIPT="gdb_syms.$$" + +( +cat < $GDBSCRIPT + +# forcing the terminal avoids a problem on Fedora12 +TERM=none gdb -batch -x $GDBSCRIPT "$SHAREDLIB" < /dev/null +rm -f $GDBSCRIPT diff --git a/libatalk/.gitignore b/libatalk/.gitignore index a9c43764..33a5b662 100644 --- a/libatalk/.gitignore +++ b/libatalk/.gitignore @@ -4,5 +4,5 @@ Makefile.in *.la .deps .libs -.gitignore dummy.o +libatalk.abi.tmp diff --git a/libatalk/Makefile.am b/libatalk/Makefile.am index a027c81e..144328c1 100644 --- a/libatalk/Makefile.am +++ b/libatalk/Makefile.am @@ -1,7 +1,34 @@ - # Makefile.am for libatalk/ -# rpc should be first because it generates RPC headers included elsewhere +# This is the version info for the libatalk binary API. It has three +# numbers: +# +# Current -- the number of the binary API that we're implementing +# Revision -- which iteration of the implementation of the binary +# API are we supplying? +# Age -- How many previous binary API versions do we also +# support? +# +# To increment a VERSION_INFO (current:revision:age): +# If the ABI didn't change: +# Return (current:revision+1:age) +# If the ABI changed, but it's backward-compatible: +# Return (current+1:0:age+1) +# If the ABI changed and it isn't backward-compatible: +# Return (current+1:0:0) +# +# Once an RC is out, DO NOT MAKE ANY ABI-BREAKING CHANGES IN THAT SERIES +# UNLESS YOU REALLY REALLY HAVE TO. + +VERSION_INFO = 0:0:0 + +# History: VERSION_INFO +# +# 3.0.0-alpha1 0:0:0 +# 3.0.0-alpha2 0:0:0 +# 3.0.0-alpha3 0:0:0 +# 3.0.0-beta1 0:0:0 + SUBDIRS = acl adouble bstring compat cnid dsi iniparser tdb util unicode vfs lib_LTLIBRARIES = libatalk.la @@ -35,4 +62,16 @@ libatalk_la_DEPENDENCIES = \ util/libutil.la \ vfs/libvfs.la -libatalk_la_LDFLAGS = -version-info 0:0:0 +libatalk_la_LDFLAGS = -version-info $(VERSION_INFO) + +all-local: .libs/libatalk.so + @$(top_srcdir)/abigen.sh .libs/libatalk.so > libatalk.abi.tmp + @diff -u libatalk-$(NETATALK_VERSION).abi libatalk.abi.tmp || ( \ + echo '**********************************************************************************************************' && \ + echo '*** libatalk ABI changed ***' && \ + echo '*** check https://sourceforge.net/apps/mediawiki/netatalk/index.php?title=Developer_Infos#ABI_checking ***' && \ + echo '**********************************************************************************************************' && \ + exit 1 ) + +check-local: .libs/libatalk.so + @$(top_srcdir)/abigen.sh .libs/libatalk.so > libatalk-$(NETATALK_VERSION).abi diff --git a/libatalk/libatalk-3.0beta1.abi b/libatalk/libatalk-3.0beta1.abi new file mode 100644 index 00000000..97987d3f --- /dev/null +++ b/libatalk/libatalk-3.0beta1.abi @@ -0,0 +1,550 @@ +acl_ldap_readconfig:$1 = {int (dictionary *)} 0x12e34 +ad_close:$2 = {int (struct adouble *, int)} 0x15a93 +ad_convert:$3 = {int (const char *, const struct stat *, const struct vol *, const char **)} 0x14867 +ad_copy_header:$4 = {int (struct adouble *, struct adouble *)} 0x15098 +add_cachebyname:$5 = {int (const char *, const uuidp_t, const uuidtype_t, const long unsigned int)} 0x1099e +add_cachebyuuid:$6 = {int (uuidp_t, const char *, uuidtype_t, const long unsigned int)} 0x11020 +add_charset:$7 = {charset_t (const char *)} 0x3c1be +ad_dir:$8 = {char *(const char *)} 0x1b055 +ad_dtruncate:$9 = {int (struct adouble *, const off_t)} 0x1c7a3 +adflags2logstr:$10 = {const char *(int)} 0x17608 +ad_flush:$11 = {int (struct adouble *)} 0x15977 +ad_forcegetid:$12 = {uint32_t (struct adouble *)} 0x13891 +adf_pread:$13 = {ssize_t (struct ad_fd *, void *, size_t, off_t)} 0x1bfc4 +adf_pwrite:$14 = {ssize_t (struct ad_fd *, const void *, size_t, off_t)} 0x1c290 +ad_getattr:$15 = {int (const struct adouble *, uint16_t *)} 0x13258 +ad_getdate:$16 = {int (const struct adouble *, unsigned int, uint32_t *)} 0x14a4d +ad_getentryoff:$17 = {off_t (const struct adouble *, int)} 0x1ad38 +ad_getfuid:$18 = {uid_t (void)} 0x1b1a0 +ad_getid:$19 = {uint32_t (struct adouble *, const dev_t, const ino_t, const cnid_t, const void *)} 0x136e9 +ad_hf_mode:$20 = {mode_t (mode_t)} 0x1bf56 +ad_init:$21 = {void (struct adouble *, const struct vol *)} 0x1b44b +ad_init_old:$22 = {void (struct adouble *, int, int)} 0x1b401 +ad_lock:$23 = {int (struct adouble *, uint32_t, int, off_t, off_t, int)} 0x16b68 +ad_metadata:$24 = {int (const char *, int, struct adouble *)} 0x1b9e5 +ad_metadataat:$25 = {int (int, const char *, int, struct adouble *)} 0x1bb38 +ad_mkdir:$26 = {int (const char *, mode_t)} 0x1b228 +ad_mode:$27 = {int (const char *, mode_t)} 0x1b1ee +ad_open:$28 = {int (struct adouble *, const char *, int, ...)} 0x1b49b +ad_openat:$29 = {int (struct adouble *, int, const char *, int, ...)} 0x1bd3d +ad_openforks:$30 = {uint16_t (struct adouble *, uint16_t)} 0x174e3 +ad_path:$31 = {const char *(const char *, int)} 0x1af0c +ad_path_ea:$32 = {const char *(const char *, int)} 0x1adc2 +ad_path_osx:$33 = {const char *(const char *, int)} 0x1add3 +ad_read:$34 = {ssize_t (struct adouble *, const uint32_t, off_t, char *, const size_t)} 0x1bffd +ad_readfile_init:$35 = {int (const struct adouble *, const int, off_t *, const int)} 0x1c15b +ad_rebuild_adouble_header_ea:$36 = {int (struct adouble *)} 0x14cd0 +ad_rebuild_adouble_header_v2:$37 = {int (struct adouble *)} 0x14af4 +ad_refresh:$38 = {int (const char *, struct adouble *)} 0x1bc21 +ad_rtruncate:$39 = {int (struct adouble *, const off_t)} 0x1c693 +ad_setattr:$40 = {int (const struct adouble *, const uint16_t)} 0x133c3 +ad_setdate:$41 = {int (struct adouble *, unsigned int, uint32_t)} 0x149b0 +ad_setfuid:$42 = {int (const uid_t)} 0x1b189 +ad_setid:$43 = {int (struct adouble *, const dev_t, const ino_t, const uint32_t, const cnid_t, const void *)} 0x13552 +ad_setname:$44 = {int (struct adouble *, const char *)} 0x13905 +ad_size:$45 = {off_t (const struct adouble *, const uint32_t)} 0x1c1e8 +ad_stat:$46 = {int (const char *, struct stat *)} 0x1b1ac +ad_testlock:$47 = {int (struct adouble *, int, const off_t)} 0x173d9 +ad_tmplock:$48 = {int (struct adouble *, uint32_t, int, off_t, off_t, int)} 0x170a5 +ad_unlock:$49 = {void (struct adouble *, const int, int)} 0x172fe +ad_valid_header_osx:$50 = {int (const char *)} 0x18489 +ad_write:$51 = {ssize_t (struct adouble *, uint32_t, off_t, int, const char *, size_t)} 0x1c2c9 +afp_config_parse:$52 = {int (AFPObj *, char *)} 0x49373 +allow_severity:$53 = 5 +apply_ip_mask:$54 = {void (struct sockaddr *, int)} 0x4d65b +atalk_iconv:$55 = {size_t (atalk_iconv_t, const char **, size_t *, char **, size_t *)} 0x3b774 +atalk_iconv_close:$56 = {int (atalk_iconv_t)} 0x3bcb7 +atalk_iconv_open:$57 = {atalk_iconv_t (const char *, const char *)} 0x3b932 +atalk_register_charset:$58 = {int (struct charset_functions *)} 0x3b508 +balloc:$59 = {int (bstring, int)} 0x1ca9b +ballocmin:$60 = {int (bstring, int)} 0x1cc13 +bassign:$61 = {int (bstring, const_bstring)} 0x1d698 +bassignblk:$62 = {int (bstring, const void *, int)} 0x1da31 +bassigncstr:$63 = {int (bstring, const char *)} 0x1d8c8 +bassignformat:$64 = {int (bstring, const char *, ...)} 0x235f5 +bassigngets:$65 = {int (bstring, bNgetc, void *, char)} 0x20ff2 +bassignmidstr:$66 = {int (bstring, const_bstring, int, int)} 0x1d794 +bcatblk:$67 = {int (bstring, const void *, int)} 0x1d46a +bcatcstr:$68 = {int (bstring, const char *)} 0x1d353 +bconcat:$69 = {int (bstring, const_bstring)} 0x1d119 +bconchar:$70 = {int (bstring, char)} 0x1d2b2 +bcstrfree:$71 = {int (char *)} 0x1d0e8 +bdelete:$72 = {int (bstring, int, int)} 0x1ed45 +bdestroy:$73 = {int (bstring)} 0x1ee85 +become_root:$74 = {void (void)} 0x4e3c3 +bfindreplace:$75 = {int (bstring, const_bstring, const_bstring, int)} 0x20ba7 +bfindreplacecaseless:$76 = {int (bstring, const_bstring, const_bstring, int)} 0x20bde +bformat:$77 = {bstring (const char *, ...)} 0x238c7 +bformata:$78 = {int (bstring, const char *, ...)} 0x23323 +bfromcstr:$79 = {bstring (const char *)} 0x1cced +bfromcstralloc:$80 = {bstring (int, const char *)} 0x1cded +bgetsa:$81 = {int (bstring, bNgetc, void *, char)} 0x2111f +bgetstream:$82 = {bstring (bNgetc, void *, char)} 0x2124f +binchr:$83 = {int (const_bstring, int, const_bstring)} 0x1f962 +binchrr:$84 = {int (const_bstring, int, const_bstring)} 0x1fa9e +binsert:$85 = {int (bstring, int, const_bstring, unsigned char)} 0x1fedd +binsertch:$86 = {int (bstring, int, int, unsigned char)} 0x20c15 +binstr:$87 = {int (const_bstring, int, const_bstring)} 0x1ef17 +binstrcaseless:$88 = {int (const_bstring, int, const_bstring)} 0x1f325 +binstrr:$89 = {int (const_bstring, int, const_bstring)} 0x1f182 +binstrrcaseless:$90 = {int (const_bstring, int, const_bstring)} 0x1f4f6 +biseq:$91 = {int (const_bstring, const_bstring)} 0x1e690 +biseqcaseless:$92 = {int (const_bstring, const_bstring)} 0x1e0d5 +biseqcstr:$93 = {int (const_bstring, const char *)} 0x1e838 +biseqcstrcaseless:$94 = {int (const_bstring, const char *)} 0x1e8e5 +bisstemeqblk:$95 = {int (const_bstring, const void *, int)} 0x1e75a +bisstemeqcaselessblk:$96 = {int (const_bstring, const void *, int)} 0x1e237 +bjoin:$97 = {bstring (const struct bstrList *, const_bstring)} 0x2207a +bjoinInv:$98 = {bstring (const struct bstrList *, const_bstring)} 0x23e90 +blk2bstr:$99 = {bstring (const void *, int)} 0x1cefe +bltrimws:$100 = {int (bstring)} 0x1e362 +bmidstr:$101 = {bstring (const_bstring, int, int)} 0x1eca0 +bninchr:$102 = {int (const_bstring, int, const_bstring)} 0x1fb7b +bninchrr:$103 = {int (const_bstring, int, const_bstring)} 0x1fc26 +bpattern:$104 = {int (bstring, int)} 0x20d92 +bread:$105 = {bstring (bNread, void *)} 0x20f9c +breada:$106 = {int (bstring, bNread, void *)} 0x20e91 +brefcstr:$107 = {bstring (char *)} 0x23cbc +breplace:$108 = {int (bstring, int, int, const_bstring, unsigned char)} 0x2013f +brtrimws:$109 = {int (bstring)} 0x1e440 +bsbufflength:$110 = {int (struct bStream *, int)} 0x21347 +bsclose:$111 = {void *(struct bStream *)} 0x213e6 +bseof:$112 = {int (const struct bStream *)} 0x2138d +bsetstr:$113 = {int (bstring, int, const_bstring, unsigned char)} 0x1fcda +bsopen:$114 = {struct bStream *(bNread, void *)} 0x212b5 +bspeek:$115 = {int (bstring, const struct bStream *)} 0x22036 +bsplit:$116 = {struct bstrList *(const_bstring, unsigned char)} 0x22ff2 +bsplitcb:$117 = {int (const_bstring, unsigned char, int, int (*)(void *, int, int), void *)} 0x22a9f +bsplits:$118 = {struct bstrList *(const_bstring, const_bstring)} 0x231fe +bsplitscb:$119 = {int (const_bstring, const_bstring, int, int (*)(void *, int, int), void *)} 0x22b65 +bsplitstr:$120 = {struct bstrList *(const_bstring, const_bstring)} 0x230f8 +bsplitstrcb:$121 = {int (const_bstring, const_bstring, int, int (*)(void *, int, int), void *)} 0x22d1d +bsread:$122 = {int (bstring, struct bStream *, int)} 0x21f5c +bsreada:$123 = {int (bstring, struct bStream *, int)} 0x21b27 +bsreadln:$124 = {int (bstring, struct bStream *, char)} 0x21df6 +bsreadlna:$125 = {int (bstring, struct bStream *, char)} 0x2146c +bsreadlns:$126 = {int (bstring, struct bStream *, const_bstring)} 0x21e7d +bsreadlnsa:$127 = {int (bstring, struct bStream *, const_bstring)} 0x2174f +bssplitscb:$128 = {int (struct bStream *, const_bstring, int (*)(void *, int, const_bstring), void *)} 0x222b4 +bssplitstrcb:$129 = {int (struct bStream *, const_bstring, int (*)(void *, int, const_bstring), void *)} 0x22559 +bstr2cstr:$130 = {char *(const_bstring, char)} 0x1cffe +bstrchrp:$131 = {int (const_bstring, int, int)} 0x1f6d4 +bstrcmp:$132 = {int (const_bstring, const_bstring)} 0x1e9dc +bstrcpy:$133 = {bstring (const_bstring)} 0x1d56a +bstricmp:$134 = {int (const_bstring, const_bstring)} 0x1dcf3 +bstrListAlloc:$135 = {int (struct bstrList *, int)} 0x2289e +bstrListAllocMin:$136 = {int (struct bstrList *, int)} 0x229b3 +bstrListCreate:$137 = {struct bstrList *(void)} 0x22757 +bstrListCreateMin:$138 = {struct bstrList *(int)} 0x23daa +bstrListDestroy:$139 = {int (struct bstrList *)} 0x227c4 +bstrListPop:$140 = {bstring (struct bstrList *)} 0x23e81 +bstrListPush:$141 = {int (struct bstrList *, bstring)} 0x23e08 +bstrncmp:$142 = {int (const_bstring, const_bstring, int)} 0x1eb41 +bstrnicmp:$143 = {int (const_bstring, const_bstring, int)} 0x1dec7 +bstrrchrp:$144 = {int (const_bstring, int, int)} 0x1f771 +bsunread:$145 = {int (struct bStream *, const_bstring)} 0x21fe8 +btolower:$146 = {int (bstring)} 0x1dc44 +btoupper:$147 = {int (bstring)} 0x1db95 +btrimws:$148 = {int (bstring)} 0x1e53b +btrunc:$149 = {int (bstring, int)} 0x1db0b +bunrefcstr:$150 = {int (bstring)} 0x23d36 +bvcformata:$151 = {int (bstring, int, const char *, struct __va_list_tag *)} 0x23b2e +charset_decompose:$152 = {size_t (charset_t, char *, size_t, char *, size_t)} 0x3d63d +charset_mac_centraleurope:$153 = {name = 0x67528 "MAC_CENTRALEUROPE", kTextEncoding = 29, pull = 0x40451 , push = 0x40407 , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_chinese_simp:$154 = {name = 0x6782c "MAC_CHINESE_SIMP", kTextEncoding = 25, pull = 0x40712 , push = 0x405bb , flags = 85, iname = 0x6783d "EUC-CN", prev = 0x0, next = 0x0} +charset_mac_chinese_trad:$155 = {name = 0x67aa0 "MAC_CHINESE_TRAD", kTextEncoding = 2, pull = 0x40a1b , push = 0x408b4 , flags = 85, iname = 0x67ab1 "BIG-5", prev = 0x0, next = 0x0} +charset_mac_cyrillic:$156 = {name = 0x67ce8 "MAC_CYRILLIC", kTextEncoding = 7, pull = 0x40c89 , push = 0x40c3f , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_greek:$157 = {name = 0x67f20 "MAC_GREEK", kTextEncoding = 6, pull = 0x40eb7 , push = 0x40df8 , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_hebrew:$158 = {name = 0x68138 "MAC_HEBREW", kTextEncoding = 5, pull = 0x4135b , push = 0x41017 , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_japanese:$159 = {name = 0x68c1c "MAC_JAPANESE", kTextEncoding = 1, pull = 0x41a69 , push = 0x4187e , flags = 85, iname = 0x68c29 "SHIFT_JIS", prev = 0x0, next = 0x0} +charset_mac_korean:$160 = {name = 0x6b714 "MAC_KOREAN", kTextEncoding = 3, pull = 0x41daf , push = 0x41c48 , flags = 85, iname = 0x6b71f "EUC-KR", prev = 0x0, next = 0x0} +charset_mac_roman:$161 = {name = 0x6ba00 "MAC_ROMAN", kTextEncoding = 0, pull = 0x4206a , push = 0x41fbb , flags = 21, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_turkish:$162 = {name = 0x6bcc8 "MAC_TURKISH", kTextEncoding = 35, pull = 0x42314 , push = 0x422ca , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_names:$163 = 0x289480 +charset_precompose:$164 = {size_t (charset_t, char *, size_t, char *, size_t)} 0x3d517 +charset_strlower:$165 = {size_t (charset_t, const char *, size_t, char *, size_t)} 0x3d1ef +charset_strupper:$166 = {size_t (charset_t, const char *, size_t, char *, size_t)} 0x3d11b +charset_to_ucs2_allocate:$167 = {size_t (charset_t, uint16_t **, const char *)} 0x3d39f +charset_to_utf8_allocate:$168 = {size_t (charset_t, char **, const char *)} 0x3d3e8 +charset_utf8:$169 = {name = 0x64400 "UTF8", kTextEncoding = 134217987, pull = 0x3e9bc , push = 0x3ee19 , flags = 22, iname = 0x0, prev = 0x0, next = 0x0} +charset_utf8_mac:$170 = {name = 0x64405 "UTF8-MAC", kTextEncoding = 134217987, pull = 0x3e9bc , push = 0x3ee19 , flags = 27, iname = 0x0, prev = 0x0, next = 0x0} +check_lockfile:$171 = {int (const char *, const char *)} 0x4c993 +cjk_char_pull:$172 = {size_t (uint16_t, uint16_t *, const uint32_t *)} 0x3fce2 +cjk_char_push:$173 = {size_t (uint16_t, uint8_t *)} 0x3fc5b +cjk_compose:$174 = {uint16_t (uint16_t, uint16_t, const uint32_t *, size_t)} 0x3fee0 +cjk_compose_seq:$175 = {uint16_t (const uint16_t *, size_t *, const uint32_t *, size_t)} 0x3ff81 +cjk_generic_pull:$176 = {size_t (size_t (*)(uint16_t *, const uint8_t *, size_t *), void *, char **, size_t *, char **, size_t *)} 0x3fa36 +cjk_generic_push:$177 = {size_t (size_t (*)(uint8_t *, const uint16_t *, size_t *), void *, char **, size_t *, char **, size_t *)} 0x3f7d6 +cjk_lookup:$178 = {uint16_t (uint16_t, const cjk_index_t *, const uint16_t *)} 0x3fdd3 +cnid_add:$179 = {cnid_t (struct _cnid_db *, const struct stat *, const cnid_t, const char *, const size_t, cnid_t)} 0x249c6 +cnid_close:$180 = {void (struct _cnid_db *)} 0x24952 +cnid_dbd_add:$181 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x26497 +cnid_dbd_close:$182 = {void (struct _cnid_db *)} 0x263b3 +cnid_dbd_delete:$183 = {int (struct _cnid_db *, const cnid_t)} 0x27736 +cnid_dbd_find:$184 = {int (struct _cnid_db *, const char *, size_t, void *, size_t)} 0x26f4b +cnid_dbd_get:$185 = {cnid_t (struct _cnid_db *, cnid_t, const char *, size_t)} 0x26787 +cnid_dbd_getstamp:$186 = {int (struct _cnid_db *, void *, const size_t)} 0x26bd6 +cnid_dbd_lookup:$187 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t)} 0x26c91 +cnid_dbd_module:$188 = {name = 0x5bb1a "dbd", db_list = {next = 0x0, prev = 0x0}, cnid_open = 0, flags = 0} +cnid_dbd_open:$189 = {struct _cnid_db *(struct cnid_open_args *)} 0x261ca +cnid_dbd_rebuild_add:$190 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x2743b +cnid_dbd_resolve:$191 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x269b6 +cnid_dbd_update:$192 = {int (struct _cnid_db *, cnid_t, const struct stat *, cnid_t, const char *, size_t)} 0x27179 +cnid_delete:$193 = {int (struct _cnid_db *, cnid_t)} 0x24a4f +cnid_find:$194 = {int (struct _cnid_db *, const char *, size_t, void *, size_t)} 0x24be9 +cnid_get:$195 = {cnid_t (struct _cnid_db *, const cnid_t, char *, const size_t)} 0x24a8d +cnid_getstamp:$196 = {int (struct _cnid_db *, void *, const size_t)} 0x24ae2 +cnid_init:$197 = {void (void)} 0x24e1c +cnid_last_add:$198 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x278bc +cnid_last_close:$199 = {void (struct _cnid_db *)} 0x2795c +cnid_last_delete:$200 = {int (struct _cnid_db *, const cnid_t)} 0x2798d +cnid_last_get:$201 = {cnid_t (struct _cnid_db *, cnid_t, const char *, size_t)} 0x2799f +cnid_last_lookup:$202 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t)} 0x279b9 +cnid_last_module:$203 = {name = 0x5bb5e "last", db_list = {next = 0x0, prev = 0x0}, cnid_open = 0, flags = 0} +cnid_last_open:$204 = {struct _cnid_db *(struct cnid_open_args *)} 0x27b2e +cnid_last_resolve:$205 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x27bb5 +cnid_last_update:$206 = {int (struct _cnid_db *, cnid_t, const struct stat *, cnid_t, const char *, size_t)} 0x27bd0 +cnid_lookup:$207 = {cnid_t (struct _cnid_db *, const struct stat *, const cnid_t, char *, const size_t)} 0x24b88 +cnid_open:$208 = {struct _cnid_db *(const char *, mode_t, char *, int, const char *, const char *)} 0x244db +cnid_rebuild_add:$209 = {cnid_t (struct _cnid_db *, const struct stat *, const cnid_t, char *, const size_t, cnid_t)} 0x24dad +cnid_register:$210 = {void (struct _cnid_module *)} 0x240d8 +cnid_resolve:$211 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x24c97 +cnid_tdb_add:$212 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x280fd +cnid_tdb_close:$213 = {void (struct _cnid_db *)} 0x28318 +cnid_tdb_delete:$214 = {int (struct _cnid_db *, const cnid_t)} 0x28364 +cnid_tdb_get:$215 = {cnid_t (struct _cnid_db *, cnid_t, const char *, size_t)} 0x28498 +cnid_tdb_lookup:$216 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t)} 0x28660 +cnid_tdb_module:$217 = {name = 0x5bd3c "tdb", db_list = {next = 0x0, prev = 0x0}, cnid_open = 0, flags = 12} +cnid_tdb_open:$218 = {struct _cnid_db *(struct cnid_open_args *)} 0x28d61 +cnid_tdb_resolve:$219 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x292b4 +cnid_tdb_update:$220 = {int (struct _cnid_db *, cnid_t, const struct stat *, cnid_t, const char *, size_t)} 0x293b0 +cnid_update:$221 = {int (struct _cnid_db *, const cnid_t, const struct stat *, const cnid_t, char *, const size_t)} 0x24d42 +compare_ip:$222 = {int (const struct sockaddr *, const struct sockaddr *)} 0x4d7c6 +convert_charset:$223 = {size_t (charset_t, charset_t, charset_t, const char *, size_t, char *, size_t, uint16_t *)} 0x3e634 +convert_string:$224 = {size_t (charset_t, charset_t, const void *, size_t, void *, size_t)} 0x3c885 +convert_string_allocate:$225 = {size_t (charset_t, charset_t, const void *, size_t, char **)} 0x3ce93 +copy_ea:$226 = {int (const char *, int, const char *, const char *, mode_t)} 0x52b4c +copy_file:$227 = {int (int, const char *, const char *, mode_t)} 0x528b1 +copy_file_fd:$228 = {int (int, int)} 0x52710 +copy_fork:$229 = {int (int, struct adouble *, struct adouble *)} 0x1c895 +create_lockfile:$230 = {int (const char *, const char *)} 0x4ca5e +daemonize:$231 = {int (int, int)} 0x4e2f2 +decompose_w:$232 = {size_t (uint16_t *, size_t, uint16_t *, size_t *)} 0x3abfe +deny_severity:$233 = 3 +dequeue:$234 = {void *(q_t *)} 0x4a8bf +_diacasemap:$235 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 231, 203, 229, 128, 204, 129, 130, 131, 233, 230, 232, 234, 237, 235, 236, 132, 238, 241, 239, 133, 205, 242, 244, 243, 134, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 198, 183, 184, 184, 186, 187, 188, 189, 174, 175, 192, 193, 194, 195, 196, 197, 198, 199...} +_dialowermap:$236 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 138, 140, 141, 142, 150, 154, 159, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 132, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 190, 191, 176, 177, 178, 179, 180, 181, 198, 183, 185, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199...} +dictionary_del:$237 = {void (dictionary *)} 0x2d764 +dictionary_dump:$238 = {void (dictionary *, FILE *)} 0x2dddf +dictionary_get:$239 = {const char *(const dictionary *, const char *, const char *, const char *)} 0x2d83e +dictionary_hash:$240 = {unsigned int (char *)} 0x2d647 +dictionary_new:$241 = {dictionary *(int)} 0x2d6bf +dictionary_set:$242 = {int (dictionary *, char *, char *, char *)} 0x2d92d +dictionary_unset:$243 = {void (dictionary *, char *, char *)} 0x2dc51 +dir_rx_set:$244 = {int (mode_t)} 0x524bc +dsi_attention:$245 = {int (DSI *, AFPUserBytes)} 0x2992c +dsi_close:$246 = {void (DSI *)} 0x29a70 +dsi_cmdreply:$247 = {int (DSI *, const int)} 0x29b7c +dsi_disconnect:$248 = {int (DSI *)} 0x2c786 +dsi_getsession:$249 = {int (DSI *, server_child *, int, afp_child_t **)} 0x29c9c +dsi_getstatus:$250 = {void (DSI *)} 0x2a298 +dsi_init:$251 = {DSI *(AFPObj *, const char *, const char *, const char *)} 0x2a348 +dsi_opensession:$252 = {void (DSI *)} 0x2a4e7 +dsi_read:$253 = {ssize_t (DSI *, void *, const size_t)} 0x2a8d5 +dsi_readdone:$254 = {void (DSI *)} 0x2a8b4 +dsi_readinit:$255 = {ssize_t (DSI *, void *, const size_t, const size_t, const int)} 0x2a754 +dsi_stream_read:$256 = {size_t (DSI *, void *, const size_t)} 0x2cda1 +dsi_stream_read_file:$257 = {ssize_t (DSI *, const int, off_t, const size_t, const int)} 0x2caa0 +dsi_stream_receive:$258 = {int (DSI *)} 0x2d301 +dsi_stream_send:$259 = {int (DSI *, void *, size_t)} 0x2cfdd +dsi_stream_write:$260 = {ssize_t (DSI *, void *, const size_t, int)} 0x2c829 +dsi_tcp_init:$261 = {int (DSI *, const char *, const char *, const char *)} 0x2b269 +dsi_tickle:$262 = {int (DSI *)} 0x2b928 +dsi_write:$263 = {size_t (DSI *, void *, const size_t)} 0x2bb1b +dsi_writeflush:$264 = {void (DSI *)} 0x2bc21 +dsi_writeinit:$265 = {size_t (DSI *, void *, const size_t)} 0x2b9f4 +ea_chmod_dir:$266 = {int (const struct vol *, const char *, mode_t, struct stat *)} 0x571bb +ea_chmod_file:$267 = {int (const struct vol *, const char *, mode_t, struct stat *)} 0x56e90 +ea_chown:$268 = {int (const struct vol *, const char *, uid_t, gid_t)} 0x56c5c +ea_close:$269 = {int (struct ea *)} 0x54c98 +ea_copyfile:$270 = {int (const struct vol *, int, const char *, const char *)} 0x56734 +ea_deletefile:$271 = {int (const struct vol *, int, const char *)} 0x55efb +ea_open:$272 = {int (const struct vol *, const char *, eaflags_t, struct ea *)} 0x544dc +ea_openat:$273 = {int (const struct vol *, int, const char *, eaflags_t, struct ea *)} 0x54bb0 +ea_path:$274 = {char *(const struct ea *, const char *, int)} 0x543eb +ea_renamefile:$275 = {int (const struct vol *, int, const char *, const char *)} 0x56171 +enqueue:$276 = {qnode_t *(q_t *, void *)} 0x4a7dd +fault_setup:$277 = {void (void (*)(void *))} 0x42cc8 +fdset_add_fd:$278 = {void (int, struct pollfd **, struct polldata **, int *, int *, int, enum fdtype, void *)} 0x4d816 +fdset_del_fd:$279 = {void (struct pollfd **, struct polldata **, int *, int *, int)} 0x4d9c1 +find_charset_functions:$280 = {struct charset_functions *(const char *)} 0x3b4b0 +_fini:$281 = {} 0x58f28 <_fini> +freeifacelist:$282 = {void (char **)} 0x42f4e +fullpathname:$283 = {const char *(const char *)} 0x4e484 +getcwdpath:$284 = {const char *(void)} 0x4e440 +get_eacontent:$285 = {int (const struct vol *, char *, size_t *, const char *, int, const char *, int)} 0x55481 +get_easize:$286 = {int (const struct vol *, char *, size_t *, const char *, int, const char *)} 0x5520d +getifacelist:$287 = {char **(void)} 0x42ed1 +getip_port:$288 = {unsigned int (const struct sockaddr *)} 0x4d5ff +getip_string:$289 = {const char *(const struct sockaddr *)} 0x4d4fc +getnamefromuuid:$290 = {int (const uuidp_t, char **, uuidtype_t *)} 0x11ea9 +getuuidfromname:$291 = {int (const char *, uuidtype_t, unsigned char *)} 0x11a3d +getvolbyname:$292 = {struct vol *(const char *)} 0x49305 +getvolbypath:$293 = {struct vol *(AFPObj *, const char *)} 0x48804 +getvolbyvid:$294 = {struct vol *(const uint16_t)} 0x487a2 +getvolumes:$295 = {struct vol *(void)} 0x48795 +gmem:$296 = {int (gid_t, int, gid_t *)} 0x4e89e +iniparser_dump:$297 = {void (const dictionary *, FILE *)} 0x2e13a +iniparser_dump_ini:$298 = {void (const dictionary *, FILE *)} 0x2e235 +iniparser_find_entry:$299 = {int (const dictionary *, const char *)} 0x2e783 +iniparser_freedict:$300 = {void (dictionary *)} 0x2eff3 +iniparser_getboolean:$301 = {int (const dictionary *, const char *, const char *, int)} 0x2e6ad +iniparser_getdouble:$302 = {double (const dictionary *, const char *, const char *, double)} 0x2e650 +iniparser_getint:$303 = {int (const dictionary *, const char *, const char *, int)} 0x2e5f3 +iniparser_getnsec:$304 = {int (const dictionary *)} 0x2dfde +iniparser_getsecname:$305 = {const char *(const dictionary *, int)} 0x2e06d +iniparser_getstrdup:$306 = {char *(const dictionary *, const char *, const char *, const char *)} 0x2e586 +iniparser_getstring:$307 = {const char *(const dictionary *, const char *, const char *, const char *)} 0x2e52f +iniparser_load:$308 = {dictionary *(const char *)} 0x2eadb +iniparser_set:$309 = {int (dictionary *, char *, char *, char *)} 0x2e7c5 +iniparser_unset:$310 = {void (dictionary *, char *, char *)} 0x2e7f4 +_init:$311 = {} 0xe7e0 <_init> +init_iconv:$312 = {void (void)} 0x3c46a +initvol_vfs:$313 = {void (struct vol *)} 0x5234a +ipc_child_write:$314 = {int (int, uint16_t, int, void *)} 0x4c541 +ipc_client_uds:$315 = {int (const char *)} 0x4bb88 +ipc_server_read:$316 = {int (server_child *, int)} 0x4bffa +ipc_server_uds:$317 = {int (const char *)} 0x4b90c +islower_sp:$318 = {int (uint32_t)} 0x39941 +islower_w:$319 = {int (uint16_t)} 0x39920 +isupper_sp:$320 = {int (uint32_t)} 0x39980 +isupper_w:$321 = {int (uint16_t)} 0x3995f +lchdir:$322 = {int (const char *)} 0x4e58c +ldap_auth_dn:$323 = 0x0 +ldap_auth_method:$324 = 0 +ldap_auth_pw:$325 = 0x0 +ldap_config_valid:$326 = 0 +ldap_getnamefromuuid:$327 = {int (const char *, char **, uuidtype_t *)} 0x12c0f +ldap_getuuidfromname:$328 = {int (const char *, uuidtype_t, char **)} 0x12a1c +ldap_group_attr:$329 = 0x0 +ldap_groupbase:$330 = 0x0 +ldap_groupscope:$331 = 0 +ldap_name_attr:$332 = 0x0 +ldap_prefs:$333 = {{pref = 0x0, name = 0x59458 "ldap server", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x59464 "ldap auth method", strorint = 1, intfromarray = 1, valid = -1}, {pref = 0x0, name = 0x59475 "ldap auth dn", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x59482 "ldap auth pw", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x5948f "ldap userbase", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x5949d "ldap userscope", strorint = 1, intfromarray = 1, valid = -1}, {pref = 0x0, name = 0x594ac "ldap groupbase", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x594bb "ldap groupscope", strorint = 1, intfromarray = 1, valid = -1}, {pref = 0x0, name = 0x594cb "ldap uuid attr", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x594da "ldap uuid string", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x594eb "ldap name attr", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x594fa "ldap group attr", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x5950a "ldap uid attr", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x0, strorint = 0, intfromarray = 0, valid = -1}} +ldap_server:$334 = 0x0 +ldap_uid_attr:$335 = 0x0 +ldap_userbase:$336 = 0x0 +ldap_userscope:$337 = 0 +ldap_uuid_attr:$338 = 0x0 +ldap_uuid_string:$339 = 0x0 +list_eas:$340 = {int (const struct vol *, char *, size_t *, const char *, int)} 0x55875 +load_charset:$341 = {int (struct vol *)} 0x48186 +load_volumes:$342 = {int (AFPObj *, void (*)(const AFPObj *, struct vol *))} 0x48282 +localuuid_from_id:$343 = {void (unsigned char *, uuidtype_t, unsigned int)} 0x1181c +lock_reg:$344 = {int (int, int, int, off_t, int, off_t)} 0x42f9c +log_config:$345 = {inited = false, syslog_opened = false, console = false, processname = '\0' , syslog_facility = 0, syslog_display_options = 0} +lstatat:$346 = {int (int, const char *, struct stat *)} 0x52f44 +make_log_entry:$347 = {void (enum loglevels, enum logtypes, const char *, int, char *, ...)} 0x43b23 +make_tdb_data:$348 = {unsigned char *(uint32_t, const struct stat *, const cnid_t, const char *, const size_t)} 0x27d2a +mb_generic_pull:$349 = {size_t (int (*)(uint16_t *, const unsigned char *), void *, char **, size_t *, char **, size_t *)} 0x40163 +mb_generic_push:$350 = {size_t (int (*)(unsigned char *, uint16_t), void *, char **, size_t *, char **, size_t *)} 0x40050 +namecache:$351 = {0x0 } +netatalk_panic:$352 = {void (const char *)} 0x42a3d +netatalk_rmdir:$353 = {int (int, const char *)} 0x52669 +netatalk_rmdir_all_errors:$354 = {int (int, const char *)} 0x525c5 +netatalk_unlink:$355 = {int (const char *)} 0x526a4 +netatalk_unlinkat:$356 = {int (int, const char *)} 0x52e2d +nftw:$357 = {int (const char *, nftw_func_t, dir_notification_func_t, int, int)} 0x4feaa +opendirat:$358 = {DIR *(int, const char *)} 0x52f7b +openflags2logstr:$359 = {const char *(int)} 0x179b3 +posix_chmod:$360 = {int (const char *, mode_t)} 0x11290 +posix_fchmod:$361 = {int (int, mode_t)} 0x115aa +precompose_w:$362 = {size_t (uint16_t *, size_t, uint16_t *, size_t *)} 0x3a810 +prefs_array:$363 = {{pref = 0x59464 "ldap auth method", valuestring = 0x59518 "none", value = 0}, {pref = 0x59464 "ldap auth method", valuestring = 0x5951d "simple", value = 128}, {pref = 0x59464 "ldap auth method", valuestring = 0x59524 "sasl", value = 163}, {pref = 0x5949d "ldap userscope", valuestring = 0x59529 "base", value = 0}, {pref = 0x5949d "ldap userscope", valuestring = 0x5952e "one", value = 1}, {pref = 0x5949d "ldap userscope", valuestring = 0x59532 "sub", value = 2}, {pref = 0x594bb "ldap groupscope", valuestring = 0x59529 "base", value = 0}, {pref = 0x594bb "ldap groupscope", valuestring = 0x5952e "one", value = 1}, {pref = 0x594bb "ldap groupscope", valuestring = 0x59532 "sub", value = 2}, {pref = 0x0, valuestring = 0x0, value = 0}} +prequeue:$364 = {qnode_t *(q_t *, void *)} 0x4a84d +queue_destroy:$365 = {void (q_t *, void (*)(void *))} 0x4a93b +queue_init:$366 = {q_t *(void)} 0x4a78d +randombytes:$367 = {void (void *, int)} 0x4e7e1 +readt:$368 = {ssize_t (int, void *, const size_t, int, int)} 0x4cbc6 +reconnect_ipc:$369 = {int (AFPObj *)} 0x4be84 +recv_fd:$370 = {int (int, int)} 0x4db17 +rel_path_in_vol:$371 = {bstring (const char *, const char *)} 0x42360 +remove_acl_vfs:$372 = {int (const char *)} 0x58a20 +remove_ea:$373 = {int (const struct vol *, const char *, const char *, int)} 0x55d2a +run_cmd:$374 = {int (const char *, char **)} 0x4e0d4 +search_cachebyname:$375 = {int (const char *, uuidtype_t *, unsigned char *)} 0x10c0c +search_cachebyuuid:$376 = {int (uuidp_t, char **, uuidtype_t *)} 0x10e0d +send_fd:$377 = {int (int, int)} 0x4dd43 +server_child_add:$378 = {afp_child_t *(server_child *, int, pid_t, int)} 0x4aa5b +server_child_alloc:$379 = {server_child *(const int, const int)} 0x4a9ce +server_child_free:$380 = {void (server_child *)} 0x4ad99 +server_child_kill:$381 = {void (server_child *, int, int)} 0x4ae76 +server_child_kill_one_by_id:$382 = {void (server_child *, int, pid_t, uid_t, uint32_t, char *, uint32_t)} 0x4b34c +server_child_remove:$383 = {int (server_child *, const int, pid_t)} 0x4ac63 +server_child_setup:$384 = {void (server_child *, const int, void (*)(const pid_t))} 0x4b5b0 +server_child_transfer_session:$385 = {int (server_child *, int, pid_t, uid_t, int, uint16_t)} 0x4af99 +server_lock:$386 = {pid_t (char *, char *, int)} 0x4c704 +server_reset_signal:$387 = {void (void)} 0x4b5fa +set_ea:$388 = {int (const struct vol *, const char *, const char *, const char *, size_t, int)} 0x55b49 +setfilmode:$389 = {int (const char *, mode_t, struct stat *, mode_t)} 0x524d8 +setnonblock:$390 = {int (int, int)} 0x4cb3c +set_processname:$391 = {void (const char *)} 0x43af1 +setuplog:$392 = {void (const char *, const char *)} 0x441d7 +statat:$393 = {int (int, const char *, struct stat *)} 0x52f0d +strcasechr_sp:$394 = {uint16_t *(const uint16_t *, uint32_t)} 0x39ae7 +strcasechr_w:$395 = {uint16_t *(const uint16_t *, uint16_t)} 0x39a70 +strcasecmp_w:$396 = {int (const uint16_t *, const uint16_t *)} 0x39e63 +strcasestr_w:$397 = {uint16_t *(const uint16_t *, const uint16_t *)} 0x39cff +strcat_w:$398 = {uint16_t *(uint16_t *, const uint16_t *)} 0x3a3b2 +strchr_w:$399 = {uint16_t *(const uint16_t *, uint16_t)} 0x39a15 +strcmp_w:$400 = {int (const uint16_t *, const uint16_t *)} 0x39b73 +strdiacasecmp:$401 = {int (const char *, const char *)} 0x4df38 +strdup_w:$402 = {uint16_t *(const uint16_t *)} 0x3a269 +stripped_slashes_basename:$403 = {char *(char *)} 0x4e510 +strlcat:$404 = {size_t (char *, const char *, size_t)} 0x2987e +strlcpy:$405 = {size_t (char *, const char *, size_t)} 0x29804 +strlen_w:$406 = {size_t (const uint16_t *)} 0x3999e +strlower_w:$407 = {int (uint16_t *)} 0x39704 +strncasecmp_w:$408 = {int (const uint16_t *, const uint16_t *, size_t)} 0x39feb +strncat_w:$409 = {uint16_t *(uint16_t *, const uint16_t *, const size_t)} 0x3a327 +strncmp_w:$410 = {int (const uint16_t *, const uint16_t *, size_t)} 0x39bc6 +strncpy_w:$411 = {uint16_t *(uint16_t *, const uint16_t *, const size_t)} 0x3a285 +strndiacasecmp:$412 = {int (const char *, const char *, size_t)} 0x4dfdb +strndup_w:$413 = {uint16_t *(const uint16_t *, size_t)} 0x3a1b6 +strnlen_w:$414 = {size_t (const uint16_t *, size_t)} 0x399d1 +strstr_w:$415 = {uint16_t *(const uint16_t *, const uint16_t *)} 0x39c4b +strupper_w:$416 = {int (uint16_t *)} 0x39812 +sys_ea_copyfile:$417 = {int (const struct vol *, int, const char *, const char *)} 0x580f0 +sys_fgetxattr:$418 = {ssize_t (int, const char *, void *, size_t)} 0x5872e +sys_fsetxattr:$419 = {int (int, const char *, const void *, size_t, int)} 0x58993 +sys_ftruncate:$420 = {int (int, off_t)} 0x1c571 +sys_get_eacontent:$421 = {int (const struct vol *, char *, size_t *, const char *, int, const char *, int)} 0x578b1 +sys_get_easize:$422 = {int (const struct vol *, char *, size_t *, const char *, int, const char *)} 0x57668 +sys_getxattr:$423 = {ssize_t (const char *, const char *, void *, size_t)} 0x586f2 +sys_getxattrfd:$424 = {int (int, const char *, int, ...)} 0x58652 +sys_lgetxattr:$425 = {ssize_t (const char *, const char *, void *, size_t)} 0x58768 +sys_list_eas:$426 = {int (const struct vol *, char *, size_t *, const char *, int)} 0x57ab6 +sys_listxattr:$427 = {ssize_t (const char *, char *, size_t)} 0x5887d +sys_llistxattr:$428 = {ssize_t (const char *, char *, size_t)} 0x588b9 +sys_lremovexattr:$429 = {int (const char *, const char *)} 0x58921 +sys_lsetxattr:$430 = {int (const char *, const char *, const void *, size_t, int)} 0x589d7 +sys_remove_ea:$431 = {int (const struct vol *, const char *, const char *, int)} 0x57fe2 +sys_removexattr:$432 = {int (const char *, const char *)} 0x588f5 +sys_sendfile:$433 = {ssize_t (int, int, off_t *, size_t)} 0x1c130 +sys_set_ea:$434 = {int (const struct vol *, const char *, const char *, const char *, size_t, int)} 0x57d6b +sys_setxattr:$435 = {int (const char *, const char *, const void *, size_t, int)} 0x5894d +tdb_add_flags:$436 = {void (struct tdb_context *, unsigned int)} 0x358c5 +tdb_allocate:$437 = {tdb_off_t (struct tdb_context *, tdb_len_t, struct tdb_record *)} 0x3089b +tdb_alloc_read:$438 = {unsigned char *(struct tdb_context *, tdb_off_t, tdb_len_t)} 0x31bbc +tdb_append:$439 = {int (struct tdb_context *, TDB_DATA, TDB_DATA)} 0x35676 +tdb_brlock:$440 = {int (struct tdb_context *, tdb_off_t, int, int, int, size_t)} 0x31f3d +tdb_brlock_upgrade:$441 = {int (struct tdb_context *, tdb_off_t, size_t)} 0x320a8 +tdb_chainlock:$442 = {int (struct tdb_context *, TDB_DATA)} 0x32d2b +tdb_chainlock_mark:$443 = {int (struct tdb_context *, TDB_DATA)} 0x32dd5 +tdb_chainlock_nonblock:$444 = {int (struct tdb_context *, TDB_DATA)} 0x32d80 +tdb_chainlock_read:$445 = {int (struct tdb_context *, TDB_DATA)} 0x32ec8 +tdb_chainlock_unmark:$446 = {int (struct tdb_context *, TDB_DATA)} 0x32e2a +tdb_chainunlock:$447 = {int (struct tdb_context *, TDB_DATA)} 0x32e79 +tdb_chainunlock_read:$448 = {int (struct tdb_context *, TDB_DATA)} 0x32f1d +tdb_check:$449 = {int (struct tdb_context *, int (*)(TDB_DATA, TDB_DATA, void *), void *)} 0x2f934 +tdb_close:$450 = {int (struct tdb_context *)} 0x33f80 +tdb_convert:$451 = {void *(void *, uint32_t)} 0x3111a +tdb_delete:$452 = {int (struct tdb_context *, TDB_DATA)} 0x3511f +tdb_do_delete:$453 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x34c5f +tdb_dump_all:$454 = {void (struct tdb_context *)} 0x30004 +tdb_enable_seqnum:$455 = {void (struct tdb_context *)} 0x35a3d +tdb_error:$456 = {enum TDB_ERROR (struct tdb_context *)} 0x301ec +tdb_errorstr:$457 = {const char *(struct tdb_context *)} 0x301fd +tdb_exists:$458 = {int (struct tdb_context *, TDB_DATA)} 0x34c1b +tdb_expand:$459 = {int (struct tdb_context *, tdb_off_t)} 0x317ae +tdb_fd:$460 = {int (struct tdb_context *)} 0x3583d +tdb_fetch:$461 = {TDB_DATA (struct tdb_context *, TDB_DATA)} 0x34a72 +tdb_find_lock_hash:$462 = {tdb_off_t (struct tdb_context *, TDB_DATA, uint32_t, int, struct tdb_record *)} 0x34749 +tdb_firstkey:$463 = {TDB_DATA (struct tdb_context *)} 0x39209 +tdb_free:$464 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x303fe +tdb_freelist_size:$465 = {int (struct tdb_context *)} 0x30b1d +tdb_get_flags:$466 = {int (struct tdb_context *)} 0x358b1 +tdb_get_logging_private:$467 = {void *(struct tdb_context *)} 0x34110 +tdb_get_seqnum:$468 = {int (struct tdb_context *)} 0x35863 +tdb_hash_size:$469 = {int (struct tdb_context *)} 0x3588d +tdb_increment_seqnum_nonblock:$470 = {void (struct tdb_context *)} 0x344f4 +tdb_io_init:$471 = {void (struct tdb_context *)} 0x31f04 +tdb_lock:$472 = {int (struct tdb_context *, int, int)} 0x32470 +tdb_lockall:$473 = {int (struct tdb_context *)} 0x32c26 +tdb_lockall_mark:$474 = {int (struct tdb_context *)} 0x32c47 +tdb_lockall_nonblock:$475 = {int (struct tdb_context *)} 0x32c84 +tdb_lockall_read:$476 = {int (struct tdb_context *)} 0x32cc7 +tdb_lockall_read_nonblock:$477 = {int (struct tdb_context *)} 0x32ce8 +tdb_lockall_unmark:$478 = {int (struct tdb_context *)} 0x32c68 +tdb_lock_nonblock:$479 = {int (struct tdb_context *, int, int)} 0x324e4 +tdb_lock_record:$480 = {int (struct tdb_context *, tdb_off_t)} 0x32f6c +tdb_log_fn:$481 = {tdb_log_func (struct tdb_context *)} 0x3584e +tdb_map_size:$482 = {size_t (struct tdb_context *)} 0x3589e +tdb_mmap:$483 = {void (struct tdb_context *)} 0x31400 +tdb_munmap:$484 = {int (struct tdb_context *)} 0x313c6 +tdb_name:$485 = {const char *(struct tdb_context *)} 0x3582c +tdb_nextkey:$486 = {TDB_DATA (struct tdb_context *, TDB_DATA)} 0x3933e +tdb_null:$487 = {dptr = 0x0, dsize = 0} +tdb_ofs_read:$488 = {int (struct tdb_context *, tdb_off_t, tdb_off_t *)} 0x31b05 +tdb_ofs_write:$489 = {int (struct tdb_context *, tdb_off_t, tdb_off_t *)} 0x31b4b +tdb_open:$490 = {struct tdb_context *(const char *, int, int, int, mode_t)} 0x33462 +tdb_open_ex:$491 = {struct tdb_context *(const char *, int, int, int, mode_t, const struct tdb_logging_context *, tdb_hash_func)} 0x33531 +tdb_parse_data:$492 = {int (struct tdb_context *, TDB_DATA, tdb_off_t, tdb_len_t, int (*)(TDB_DATA, TDB_DATA, void *), void *)} 0x31ca1 +tdb_parse_record:$493 = {int (struct tdb_context *, TDB_DATA, int (*)(TDB_DATA, TDB_DATA, void *), void *)} 0x34ac9 +tdb_printfreelist:$494 = {int (struct tdb_context *)} 0x30053 +tdb_rec_free_read:$495 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x30268 +tdb_rec_read:$496 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x31da1 +tdb_rec_write:$497 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x31e81 +tdb_remove_flags:$498 = {void (struct tdb_context *, unsigned int)} 0x35980 +tdb_reopen:$499 = {int (struct tdb_context *)} 0x3445d +tdb_reopen_all:$500 = {int (int)} 0x34484 +tdb_repack:$501 = {int (struct tdb_context *)} 0x35ee3 +tdb_setalarm_sigptr:$502 = {void (struct tdb_context *, volatile sig_atomic_t *)} 0x31f20 +tdb_set_logging_function:$503 = {void (struct tdb_context *, const struct tdb_logging_context *)} 0x340e5 +tdb_set_max_dead:$504 = {void (struct tdb_context *, int)} 0x33f66 +tdb_store:$505 = {int (struct tdb_context *, TDB_DATA, TDB_DATA, int)} 0x3557b +_tdb_transaction_cancel:$506 = {int (struct tdb_context *)} 0x37265 <_tdb_transaction_cancel> +tdb_transaction_cancel:$507 = {int (struct tdb_context *)} 0x3764e +tdb_transaction_commit:$508 = {int (struct tdb_context *)} 0x38307 +tdb_transaction_lock:$509 = {int (struct tdb_context *, int)} 0x327da +tdb_transaction_prepare_commit:$510 = {int (struct tdb_context *)} 0x382f0 +tdb_transaction_recover:$511 = {int (struct tdb_context *)} 0x386a8 +tdb_transaction_start:$512 = {int (struct tdb_context *)} 0x36d09 +tdb_transaction_unlock:$513 = {int (struct tdb_context *)} 0x328bd +tdb_traverse:$514 = {int (struct tdb_context *, tdb_traverse_func, void *)} 0x39143 +tdb_traverse_read:$515 = {int (struct tdb_context *, tdb_traverse_func, void *)} 0x390a9 +tdb_unlock:$516 = {int (struct tdb_context *, int, int)} 0x3250c +tdb_unlockall:$517 = {int (struct tdb_context *)} 0x32cab +tdb_unlockall_read:$518 = {int (struct tdb_context *)} 0x32d0f +tdb_unlock_record:$519 = {int (struct tdb_context *, tdb_off_t)} 0x33095 +tdb_validate_freelist:$520 = {int (struct tdb_context *, int *)} 0x30bee +tdb_wipe_all:$521 = {int (struct tdb_context *)} 0x35b35 +tdb_write_lock_record:$522 = {int (struct tdb_context *, tdb_off_t)} 0x32fda +tdb_write_unlock_record:$523 = {int (struct tdb_context *, tdb_off_t)} 0x33056 +tolower_sp:$524 = {uint32_t (uint32_t)} 0x3f715 +tolower_w:$525 = {uint16_t (uint16_t)} 0x3f4d1 +toupper_sp:$526 = {uint32_t (uint32_t)} 0x3f48c +toupper_w:$527 = {uint16_t (uint16_t)} 0x3f27c +type_configs:$528 = {{set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}} +ucs2_to_charset:$529 = {size_t (charset_t, const uint16_t *, char *, size_t)} 0x3d431 +ucs2_to_charset_allocate:$530 = {size_t (charset_t, char **, const uint16_t *)} 0x3d482 +unbecome_root:$531 = {void (void)} 0x4e3fc +unix_rename:$532 = {int (int, const char *, int, const char *)} 0x52eb1 +unix_strlower:$533 = {size_t (const char *, size_t, char *, size_t)} 0x3d2fa +unix_strupper:$534 = {size_t (const char *, size_t, char *, size_t)} 0x3d2c3 +unload_volumes:$535 = {void (AFPObj *)} 0x486d9 +utf8_charlen:$536 = {size_t (char *)} 0x3af8e +utf8_decompose:$537 = {size_t (char *, size_t, char *, size_t)} 0x3d79a +utf8_precompose:$538 = {size_t (char *, size_t, char *, size_t)} 0x3d763 +utf8_strlen_validate:$539 = {size_t (char *)} 0x3b213 +utf8_strlower:$540 = {size_t (const char *, size_t, char *, size_t)} 0x3d368 +utf8_strupper:$541 = {size_t (const char *, size_t, char *, size_t)} 0x3d331 +utf8_to_charset_allocate:$542 = {size_t (charset_t, char **, const char *)} 0x3d4ce +uuid_bin2string:$543 = {const char *(const unsigned char *)} 0x11927 +uuidcache:$544 = {0x0 } +uuidcache_dump:$545 = {void (void)} 0x1056c +uuid_string2bin:$546 = {void (const char *, unsigned char *)} 0x11887 +uuidtype:$547 = {0x591f0 "", 0x591f1 "USER", 0x591f6 "GROUP", 0x591fc "LOCAL"} +volume_free:$548 = {void (struct vol *)} 0x48004 +volume_unlink:$549 = {void (struct vol *)} 0x47f8c +writet:$550 = {ssize_t (int, void *, const size_t, int, int)} 0x4d08a diff --git a/libatalk/libatalk-3.0dev.abi b/libatalk/libatalk-3.0dev.abi new file mode 100644 index 00000000..97987d3f --- /dev/null +++ b/libatalk/libatalk-3.0dev.abi @@ -0,0 +1,550 @@ +acl_ldap_readconfig:$1 = {int (dictionary *)} 0x12e34 +ad_close:$2 = {int (struct adouble *, int)} 0x15a93 +ad_convert:$3 = {int (const char *, const struct stat *, const struct vol *, const char **)} 0x14867 +ad_copy_header:$4 = {int (struct adouble *, struct adouble *)} 0x15098 +add_cachebyname:$5 = {int (const char *, const uuidp_t, const uuidtype_t, const long unsigned int)} 0x1099e +add_cachebyuuid:$6 = {int (uuidp_t, const char *, uuidtype_t, const long unsigned int)} 0x11020 +add_charset:$7 = {charset_t (const char *)} 0x3c1be +ad_dir:$8 = {char *(const char *)} 0x1b055 +ad_dtruncate:$9 = {int (struct adouble *, const off_t)} 0x1c7a3 +adflags2logstr:$10 = {const char *(int)} 0x17608 +ad_flush:$11 = {int (struct adouble *)} 0x15977 +ad_forcegetid:$12 = {uint32_t (struct adouble *)} 0x13891 +adf_pread:$13 = {ssize_t (struct ad_fd *, void *, size_t, off_t)} 0x1bfc4 +adf_pwrite:$14 = {ssize_t (struct ad_fd *, const void *, size_t, off_t)} 0x1c290 +ad_getattr:$15 = {int (const struct adouble *, uint16_t *)} 0x13258 +ad_getdate:$16 = {int (const struct adouble *, unsigned int, uint32_t *)} 0x14a4d +ad_getentryoff:$17 = {off_t (const struct adouble *, int)} 0x1ad38 +ad_getfuid:$18 = {uid_t (void)} 0x1b1a0 +ad_getid:$19 = {uint32_t (struct adouble *, const dev_t, const ino_t, const cnid_t, const void *)} 0x136e9 +ad_hf_mode:$20 = {mode_t (mode_t)} 0x1bf56 +ad_init:$21 = {void (struct adouble *, const struct vol *)} 0x1b44b +ad_init_old:$22 = {void (struct adouble *, int, int)} 0x1b401 +ad_lock:$23 = {int (struct adouble *, uint32_t, int, off_t, off_t, int)} 0x16b68 +ad_metadata:$24 = {int (const char *, int, struct adouble *)} 0x1b9e5 +ad_metadataat:$25 = {int (int, const char *, int, struct adouble *)} 0x1bb38 +ad_mkdir:$26 = {int (const char *, mode_t)} 0x1b228 +ad_mode:$27 = {int (const char *, mode_t)} 0x1b1ee +ad_open:$28 = {int (struct adouble *, const char *, int, ...)} 0x1b49b +ad_openat:$29 = {int (struct adouble *, int, const char *, int, ...)} 0x1bd3d +ad_openforks:$30 = {uint16_t (struct adouble *, uint16_t)} 0x174e3 +ad_path:$31 = {const char *(const char *, int)} 0x1af0c +ad_path_ea:$32 = {const char *(const char *, int)} 0x1adc2 +ad_path_osx:$33 = {const char *(const char *, int)} 0x1add3 +ad_read:$34 = {ssize_t (struct adouble *, const uint32_t, off_t, char *, const size_t)} 0x1bffd +ad_readfile_init:$35 = {int (const struct adouble *, const int, off_t *, const int)} 0x1c15b +ad_rebuild_adouble_header_ea:$36 = {int (struct adouble *)} 0x14cd0 +ad_rebuild_adouble_header_v2:$37 = {int (struct adouble *)} 0x14af4 +ad_refresh:$38 = {int (const char *, struct adouble *)} 0x1bc21 +ad_rtruncate:$39 = {int (struct adouble *, const off_t)} 0x1c693 +ad_setattr:$40 = {int (const struct adouble *, const uint16_t)} 0x133c3 +ad_setdate:$41 = {int (struct adouble *, unsigned int, uint32_t)} 0x149b0 +ad_setfuid:$42 = {int (const uid_t)} 0x1b189 +ad_setid:$43 = {int (struct adouble *, const dev_t, const ino_t, const uint32_t, const cnid_t, const void *)} 0x13552 +ad_setname:$44 = {int (struct adouble *, const char *)} 0x13905 +ad_size:$45 = {off_t (const struct adouble *, const uint32_t)} 0x1c1e8 +ad_stat:$46 = {int (const char *, struct stat *)} 0x1b1ac +ad_testlock:$47 = {int (struct adouble *, int, const off_t)} 0x173d9 +ad_tmplock:$48 = {int (struct adouble *, uint32_t, int, off_t, off_t, int)} 0x170a5 +ad_unlock:$49 = {void (struct adouble *, const int, int)} 0x172fe +ad_valid_header_osx:$50 = {int (const char *)} 0x18489 +ad_write:$51 = {ssize_t (struct adouble *, uint32_t, off_t, int, const char *, size_t)} 0x1c2c9 +afp_config_parse:$52 = {int (AFPObj *, char *)} 0x49373 +allow_severity:$53 = 5 +apply_ip_mask:$54 = {void (struct sockaddr *, int)} 0x4d65b +atalk_iconv:$55 = {size_t (atalk_iconv_t, const char **, size_t *, char **, size_t *)} 0x3b774 +atalk_iconv_close:$56 = {int (atalk_iconv_t)} 0x3bcb7 +atalk_iconv_open:$57 = {atalk_iconv_t (const char *, const char *)} 0x3b932 +atalk_register_charset:$58 = {int (struct charset_functions *)} 0x3b508 +balloc:$59 = {int (bstring, int)} 0x1ca9b +ballocmin:$60 = {int (bstring, int)} 0x1cc13 +bassign:$61 = {int (bstring, const_bstring)} 0x1d698 +bassignblk:$62 = {int (bstring, const void *, int)} 0x1da31 +bassigncstr:$63 = {int (bstring, const char *)} 0x1d8c8 +bassignformat:$64 = {int (bstring, const char *, ...)} 0x235f5 +bassigngets:$65 = {int (bstring, bNgetc, void *, char)} 0x20ff2 +bassignmidstr:$66 = {int (bstring, const_bstring, int, int)} 0x1d794 +bcatblk:$67 = {int (bstring, const void *, int)} 0x1d46a +bcatcstr:$68 = {int (bstring, const char *)} 0x1d353 +bconcat:$69 = {int (bstring, const_bstring)} 0x1d119 +bconchar:$70 = {int (bstring, char)} 0x1d2b2 +bcstrfree:$71 = {int (char *)} 0x1d0e8 +bdelete:$72 = {int (bstring, int, int)} 0x1ed45 +bdestroy:$73 = {int (bstring)} 0x1ee85 +become_root:$74 = {void (void)} 0x4e3c3 +bfindreplace:$75 = {int (bstring, const_bstring, const_bstring, int)} 0x20ba7 +bfindreplacecaseless:$76 = {int (bstring, const_bstring, const_bstring, int)} 0x20bde +bformat:$77 = {bstring (const char *, ...)} 0x238c7 +bformata:$78 = {int (bstring, const char *, ...)} 0x23323 +bfromcstr:$79 = {bstring (const char *)} 0x1cced +bfromcstralloc:$80 = {bstring (int, const char *)} 0x1cded +bgetsa:$81 = {int (bstring, bNgetc, void *, char)} 0x2111f +bgetstream:$82 = {bstring (bNgetc, void *, char)} 0x2124f +binchr:$83 = {int (const_bstring, int, const_bstring)} 0x1f962 +binchrr:$84 = {int (const_bstring, int, const_bstring)} 0x1fa9e +binsert:$85 = {int (bstring, int, const_bstring, unsigned char)} 0x1fedd +binsertch:$86 = {int (bstring, int, int, unsigned char)} 0x20c15 +binstr:$87 = {int (const_bstring, int, const_bstring)} 0x1ef17 +binstrcaseless:$88 = {int (const_bstring, int, const_bstring)} 0x1f325 +binstrr:$89 = {int (const_bstring, int, const_bstring)} 0x1f182 +binstrrcaseless:$90 = {int (const_bstring, int, const_bstring)} 0x1f4f6 +biseq:$91 = {int (const_bstring, const_bstring)} 0x1e690 +biseqcaseless:$92 = {int (const_bstring, const_bstring)} 0x1e0d5 +biseqcstr:$93 = {int (const_bstring, const char *)} 0x1e838 +biseqcstrcaseless:$94 = {int (const_bstring, const char *)} 0x1e8e5 +bisstemeqblk:$95 = {int (const_bstring, const void *, int)} 0x1e75a +bisstemeqcaselessblk:$96 = {int (const_bstring, const void *, int)} 0x1e237 +bjoin:$97 = {bstring (const struct bstrList *, const_bstring)} 0x2207a +bjoinInv:$98 = {bstring (const struct bstrList *, const_bstring)} 0x23e90 +blk2bstr:$99 = {bstring (const void *, int)} 0x1cefe +bltrimws:$100 = {int (bstring)} 0x1e362 +bmidstr:$101 = {bstring (const_bstring, int, int)} 0x1eca0 +bninchr:$102 = {int (const_bstring, int, const_bstring)} 0x1fb7b +bninchrr:$103 = {int (const_bstring, int, const_bstring)} 0x1fc26 +bpattern:$104 = {int (bstring, int)} 0x20d92 +bread:$105 = {bstring (bNread, void *)} 0x20f9c +breada:$106 = {int (bstring, bNread, void *)} 0x20e91 +brefcstr:$107 = {bstring (char *)} 0x23cbc +breplace:$108 = {int (bstring, int, int, const_bstring, unsigned char)} 0x2013f +brtrimws:$109 = {int (bstring)} 0x1e440 +bsbufflength:$110 = {int (struct bStream *, int)} 0x21347 +bsclose:$111 = {void *(struct bStream *)} 0x213e6 +bseof:$112 = {int (const struct bStream *)} 0x2138d +bsetstr:$113 = {int (bstring, int, const_bstring, unsigned char)} 0x1fcda +bsopen:$114 = {struct bStream *(bNread, void *)} 0x212b5 +bspeek:$115 = {int (bstring, const struct bStream *)} 0x22036 +bsplit:$116 = {struct bstrList *(const_bstring, unsigned char)} 0x22ff2 +bsplitcb:$117 = {int (const_bstring, unsigned char, int, int (*)(void *, int, int), void *)} 0x22a9f +bsplits:$118 = {struct bstrList *(const_bstring, const_bstring)} 0x231fe +bsplitscb:$119 = {int (const_bstring, const_bstring, int, int (*)(void *, int, int), void *)} 0x22b65 +bsplitstr:$120 = {struct bstrList *(const_bstring, const_bstring)} 0x230f8 +bsplitstrcb:$121 = {int (const_bstring, const_bstring, int, int (*)(void *, int, int), void *)} 0x22d1d +bsread:$122 = {int (bstring, struct bStream *, int)} 0x21f5c +bsreada:$123 = {int (bstring, struct bStream *, int)} 0x21b27 +bsreadln:$124 = {int (bstring, struct bStream *, char)} 0x21df6 +bsreadlna:$125 = {int (bstring, struct bStream *, char)} 0x2146c +bsreadlns:$126 = {int (bstring, struct bStream *, const_bstring)} 0x21e7d +bsreadlnsa:$127 = {int (bstring, struct bStream *, const_bstring)} 0x2174f +bssplitscb:$128 = {int (struct bStream *, const_bstring, int (*)(void *, int, const_bstring), void *)} 0x222b4 +bssplitstrcb:$129 = {int (struct bStream *, const_bstring, int (*)(void *, int, const_bstring), void *)} 0x22559 +bstr2cstr:$130 = {char *(const_bstring, char)} 0x1cffe +bstrchrp:$131 = {int (const_bstring, int, int)} 0x1f6d4 +bstrcmp:$132 = {int (const_bstring, const_bstring)} 0x1e9dc +bstrcpy:$133 = {bstring (const_bstring)} 0x1d56a +bstricmp:$134 = {int (const_bstring, const_bstring)} 0x1dcf3 +bstrListAlloc:$135 = {int (struct bstrList *, int)} 0x2289e +bstrListAllocMin:$136 = {int (struct bstrList *, int)} 0x229b3 +bstrListCreate:$137 = {struct bstrList *(void)} 0x22757 +bstrListCreateMin:$138 = {struct bstrList *(int)} 0x23daa +bstrListDestroy:$139 = {int (struct bstrList *)} 0x227c4 +bstrListPop:$140 = {bstring (struct bstrList *)} 0x23e81 +bstrListPush:$141 = {int (struct bstrList *, bstring)} 0x23e08 +bstrncmp:$142 = {int (const_bstring, const_bstring, int)} 0x1eb41 +bstrnicmp:$143 = {int (const_bstring, const_bstring, int)} 0x1dec7 +bstrrchrp:$144 = {int (const_bstring, int, int)} 0x1f771 +bsunread:$145 = {int (struct bStream *, const_bstring)} 0x21fe8 +btolower:$146 = {int (bstring)} 0x1dc44 +btoupper:$147 = {int (bstring)} 0x1db95 +btrimws:$148 = {int (bstring)} 0x1e53b +btrunc:$149 = {int (bstring, int)} 0x1db0b +bunrefcstr:$150 = {int (bstring)} 0x23d36 +bvcformata:$151 = {int (bstring, int, const char *, struct __va_list_tag *)} 0x23b2e +charset_decompose:$152 = {size_t (charset_t, char *, size_t, char *, size_t)} 0x3d63d +charset_mac_centraleurope:$153 = {name = 0x67528 "MAC_CENTRALEUROPE", kTextEncoding = 29, pull = 0x40451 , push = 0x40407 , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_chinese_simp:$154 = {name = 0x6782c "MAC_CHINESE_SIMP", kTextEncoding = 25, pull = 0x40712 , push = 0x405bb , flags = 85, iname = 0x6783d "EUC-CN", prev = 0x0, next = 0x0} +charset_mac_chinese_trad:$155 = {name = 0x67aa0 "MAC_CHINESE_TRAD", kTextEncoding = 2, pull = 0x40a1b , push = 0x408b4 , flags = 85, iname = 0x67ab1 "BIG-5", prev = 0x0, next = 0x0} +charset_mac_cyrillic:$156 = {name = 0x67ce8 "MAC_CYRILLIC", kTextEncoding = 7, pull = 0x40c89 , push = 0x40c3f , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_greek:$157 = {name = 0x67f20 "MAC_GREEK", kTextEncoding = 6, pull = 0x40eb7 , push = 0x40df8 , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_hebrew:$158 = {name = 0x68138 "MAC_HEBREW", kTextEncoding = 5, pull = 0x4135b , push = 0x41017 , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_japanese:$159 = {name = 0x68c1c "MAC_JAPANESE", kTextEncoding = 1, pull = 0x41a69 , push = 0x4187e , flags = 85, iname = 0x68c29 "SHIFT_JIS", prev = 0x0, next = 0x0} +charset_mac_korean:$160 = {name = 0x6b714 "MAC_KOREAN", kTextEncoding = 3, pull = 0x41daf , push = 0x41c48 , flags = 85, iname = 0x6b71f "EUC-KR", prev = 0x0, next = 0x0} +charset_mac_roman:$161 = {name = 0x6ba00 "MAC_ROMAN", kTextEncoding = 0, pull = 0x4206a , push = 0x41fbb , flags = 21, iname = 0x0, prev = 0x0, next = 0x0} +charset_mac_turkish:$162 = {name = 0x6bcc8 "MAC_TURKISH", kTextEncoding = 35, pull = 0x42314 , push = 0x422ca , flags = 17, iname = 0x0, prev = 0x0, next = 0x0} +charset_names:$163 = 0x289480 +charset_precompose:$164 = {size_t (charset_t, char *, size_t, char *, size_t)} 0x3d517 +charset_strlower:$165 = {size_t (charset_t, const char *, size_t, char *, size_t)} 0x3d1ef +charset_strupper:$166 = {size_t (charset_t, const char *, size_t, char *, size_t)} 0x3d11b +charset_to_ucs2_allocate:$167 = {size_t (charset_t, uint16_t **, const char *)} 0x3d39f +charset_to_utf8_allocate:$168 = {size_t (charset_t, char **, const char *)} 0x3d3e8 +charset_utf8:$169 = {name = 0x64400 "UTF8", kTextEncoding = 134217987, pull = 0x3e9bc , push = 0x3ee19 , flags = 22, iname = 0x0, prev = 0x0, next = 0x0} +charset_utf8_mac:$170 = {name = 0x64405 "UTF8-MAC", kTextEncoding = 134217987, pull = 0x3e9bc , push = 0x3ee19 , flags = 27, iname = 0x0, prev = 0x0, next = 0x0} +check_lockfile:$171 = {int (const char *, const char *)} 0x4c993 +cjk_char_pull:$172 = {size_t (uint16_t, uint16_t *, const uint32_t *)} 0x3fce2 +cjk_char_push:$173 = {size_t (uint16_t, uint8_t *)} 0x3fc5b +cjk_compose:$174 = {uint16_t (uint16_t, uint16_t, const uint32_t *, size_t)} 0x3fee0 +cjk_compose_seq:$175 = {uint16_t (const uint16_t *, size_t *, const uint32_t *, size_t)} 0x3ff81 +cjk_generic_pull:$176 = {size_t (size_t (*)(uint16_t *, const uint8_t *, size_t *), void *, char **, size_t *, char **, size_t *)} 0x3fa36 +cjk_generic_push:$177 = {size_t (size_t (*)(uint8_t *, const uint16_t *, size_t *), void *, char **, size_t *, char **, size_t *)} 0x3f7d6 +cjk_lookup:$178 = {uint16_t (uint16_t, const cjk_index_t *, const uint16_t *)} 0x3fdd3 +cnid_add:$179 = {cnid_t (struct _cnid_db *, const struct stat *, const cnid_t, const char *, const size_t, cnid_t)} 0x249c6 +cnid_close:$180 = {void (struct _cnid_db *)} 0x24952 +cnid_dbd_add:$181 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x26497 +cnid_dbd_close:$182 = {void (struct _cnid_db *)} 0x263b3 +cnid_dbd_delete:$183 = {int (struct _cnid_db *, const cnid_t)} 0x27736 +cnid_dbd_find:$184 = {int (struct _cnid_db *, const char *, size_t, void *, size_t)} 0x26f4b +cnid_dbd_get:$185 = {cnid_t (struct _cnid_db *, cnid_t, const char *, size_t)} 0x26787 +cnid_dbd_getstamp:$186 = {int (struct _cnid_db *, void *, const size_t)} 0x26bd6 +cnid_dbd_lookup:$187 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t)} 0x26c91 +cnid_dbd_module:$188 = {name = 0x5bb1a "dbd", db_list = {next = 0x0, prev = 0x0}, cnid_open = 0, flags = 0} +cnid_dbd_open:$189 = {struct _cnid_db *(struct cnid_open_args *)} 0x261ca +cnid_dbd_rebuild_add:$190 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x2743b +cnid_dbd_resolve:$191 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x269b6 +cnid_dbd_update:$192 = {int (struct _cnid_db *, cnid_t, const struct stat *, cnid_t, const char *, size_t)} 0x27179 +cnid_delete:$193 = {int (struct _cnid_db *, cnid_t)} 0x24a4f +cnid_find:$194 = {int (struct _cnid_db *, const char *, size_t, void *, size_t)} 0x24be9 +cnid_get:$195 = {cnid_t (struct _cnid_db *, const cnid_t, char *, const size_t)} 0x24a8d +cnid_getstamp:$196 = {int (struct _cnid_db *, void *, const size_t)} 0x24ae2 +cnid_init:$197 = {void (void)} 0x24e1c +cnid_last_add:$198 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x278bc +cnid_last_close:$199 = {void (struct _cnid_db *)} 0x2795c +cnid_last_delete:$200 = {int (struct _cnid_db *, const cnid_t)} 0x2798d +cnid_last_get:$201 = {cnid_t (struct _cnid_db *, cnid_t, const char *, size_t)} 0x2799f +cnid_last_lookup:$202 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t)} 0x279b9 +cnid_last_module:$203 = {name = 0x5bb5e "last", db_list = {next = 0x0, prev = 0x0}, cnid_open = 0, flags = 0} +cnid_last_open:$204 = {struct _cnid_db *(struct cnid_open_args *)} 0x27b2e +cnid_last_resolve:$205 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x27bb5 +cnid_last_update:$206 = {int (struct _cnid_db *, cnid_t, const struct stat *, cnid_t, const char *, size_t)} 0x27bd0 +cnid_lookup:$207 = {cnid_t (struct _cnid_db *, const struct stat *, const cnid_t, char *, const size_t)} 0x24b88 +cnid_open:$208 = {struct _cnid_db *(const char *, mode_t, char *, int, const char *, const char *)} 0x244db +cnid_rebuild_add:$209 = {cnid_t (struct _cnid_db *, const struct stat *, const cnid_t, char *, const size_t, cnid_t)} 0x24dad +cnid_register:$210 = {void (struct _cnid_module *)} 0x240d8 +cnid_resolve:$211 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x24c97 +cnid_tdb_add:$212 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t, cnid_t)} 0x280fd +cnid_tdb_close:$213 = {void (struct _cnid_db *)} 0x28318 +cnid_tdb_delete:$214 = {int (struct _cnid_db *, const cnid_t)} 0x28364 +cnid_tdb_get:$215 = {cnid_t (struct _cnid_db *, cnid_t, const char *, size_t)} 0x28498 +cnid_tdb_lookup:$216 = {cnid_t (struct _cnid_db *, const struct stat *, cnid_t, const char *, size_t)} 0x28660 +cnid_tdb_module:$217 = {name = 0x5bd3c "tdb", db_list = {next = 0x0, prev = 0x0}, cnid_open = 0, flags = 12} +cnid_tdb_open:$218 = {struct _cnid_db *(struct cnid_open_args *)} 0x28d61 +cnid_tdb_resolve:$219 = {char *(struct _cnid_db *, cnid_t *, void *, size_t)} 0x292b4 +cnid_tdb_update:$220 = {int (struct _cnid_db *, cnid_t, const struct stat *, cnid_t, const char *, size_t)} 0x293b0 +cnid_update:$221 = {int (struct _cnid_db *, const cnid_t, const struct stat *, const cnid_t, char *, const size_t)} 0x24d42 +compare_ip:$222 = {int (const struct sockaddr *, const struct sockaddr *)} 0x4d7c6 +convert_charset:$223 = {size_t (charset_t, charset_t, charset_t, const char *, size_t, char *, size_t, uint16_t *)} 0x3e634 +convert_string:$224 = {size_t (charset_t, charset_t, const void *, size_t, void *, size_t)} 0x3c885 +convert_string_allocate:$225 = {size_t (charset_t, charset_t, const void *, size_t, char **)} 0x3ce93 +copy_ea:$226 = {int (const char *, int, const char *, const char *, mode_t)} 0x52b4c +copy_file:$227 = {int (int, const char *, const char *, mode_t)} 0x528b1 +copy_file_fd:$228 = {int (int, int)} 0x52710 +copy_fork:$229 = {int (int, struct adouble *, struct adouble *)} 0x1c895 +create_lockfile:$230 = {int (const char *, const char *)} 0x4ca5e +daemonize:$231 = {int (int, int)} 0x4e2f2 +decompose_w:$232 = {size_t (uint16_t *, size_t, uint16_t *, size_t *)} 0x3abfe +deny_severity:$233 = 3 +dequeue:$234 = {void *(q_t *)} 0x4a8bf +_diacasemap:$235 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 231, 203, 229, 128, 204, 129, 130, 131, 233, 230, 232, 234, 237, 235, 236, 132, 238, 241, 239, 133, 205, 242, 244, 243, 134, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 198, 183, 184, 184, 186, 187, 188, 189, 174, 175, 192, 193, 194, 195, 196, 197, 198, 199...} +_dialowermap:$236 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 138, 140, 141, 142, 150, 154, 159, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 132, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 190, 191, 176, 177, 178, 179, 180, 181, 198, 183, 185, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199...} +dictionary_del:$237 = {void (dictionary *)} 0x2d764 +dictionary_dump:$238 = {void (dictionary *, FILE *)} 0x2dddf +dictionary_get:$239 = {const char *(const dictionary *, const char *, const char *, const char *)} 0x2d83e +dictionary_hash:$240 = {unsigned int (char *)} 0x2d647 +dictionary_new:$241 = {dictionary *(int)} 0x2d6bf +dictionary_set:$242 = {int (dictionary *, char *, char *, char *)} 0x2d92d +dictionary_unset:$243 = {void (dictionary *, char *, char *)} 0x2dc51 +dir_rx_set:$244 = {int (mode_t)} 0x524bc +dsi_attention:$245 = {int (DSI *, AFPUserBytes)} 0x2992c +dsi_close:$246 = {void (DSI *)} 0x29a70 +dsi_cmdreply:$247 = {int (DSI *, const int)} 0x29b7c +dsi_disconnect:$248 = {int (DSI *)} 0x2c786 +dsi_getsession:$249 = {int (DSI *, server_child *, int, afp_child_t **)} 0x29c9c +dsi_getstatus:$250 = {void (DSI *)} 0x2a298 +dsi_init:$251 = {DSI *(AFPObj *, const char *, const char *, const char *)} 0x2a348 +dsi_opensession:$252 = {void (DSI *)} 0x2a4e7 +dsi_read:$253 = {ssize_t (DSI *, void *, const size_t)} 0x2a8d5 +dsi_readdone:$254 = {void (DSI *)} 0x2a8b4 +dsi_readinit:$255 = {ssize_t (DSI *, void *, const size_t, const size_t, const int)} 0x2a754 +dsi_stream_read:$256 = {size_t (DSI *, void *, const size_t)} 0x2cda1 +dsi_stream_read_file:$257 = {ssize_t (DSI *, const int, off_t, const size_t, const int)} 0x2caa0 +dsi_stream_receive:$258 = {int (DSI *)} 0x2d301 +dsi_stream_send:$259 = {int (DSI *, void *, size_t)} 0x2cfdd +dsi_stream_write:$260 = {ssize_t (DSI *, void *, const size_t, int)} 0x2c829 +dsi_tcp_init:$261 = {int (DSI *, const char *, const char *, const char *)} 0x2b269 +dsi_tickle:$262 = {int (DSI *)} 0x2b928 +dsi_write:$263 = {size_t (DSI *, void *, const size_t)} 0x2bb1b +dsi_writeflush:$264 = {void (DSI *)} 0x2bc21 +dsi_writeinit:$265 = {size_t (DSI *, void *, const size_t)} 0x2b9f4 +ea_chmod_dir:$266 = {int (const struct vol *, const char *, mode_t, struct stat *)} 0x571bb +ea_chmod_file:$267 = {int (const struct vol *, const char *, mode_t, struct stat *)} 0x56e90 +ea_chown:$268 = {int (const struct vol *, const char *, uid_t, gid_t)} 0x56c5c +ea_close:$269 = {int (struct ea *)} 0x54c98 +ea_copyfile:$270 = {int (const struct vol *, int, const char *, const char *)} 0x56734 +ea_deletefile:$271 = {int (const struct vol *, int, const char *)} 0x55efb +ea_open:$272 = {int (const struct vol *, const char *, eaflags_t, struct ea *)} 0x544dc +ea_openat:$273 = {int (const struct vol *, int, const char *, eaflags_t, struct ea *)} 0x54bb0 +ea_path:$274 = {char *(const struct ea *, const char *, int)} 0x543eb +ea_renamefile:$275 = {int (const struct vol *, int, const char *, const char *)} 0x56171 +enqueue:$276 = {qnode_t *(q_t *, void *)} 0x4a7dd +fault_setup:$277 = {void (void (*)(void *))} 0x42cc8 +fdset_add_fd:$278 = {void (int, struct pollfd **, struct polldata **, int *, int *, int, enum fdtype, void *)} 0x4d816 +fdset_del_fd:$279 = {void (struct pollfd **, struct polldata **, int *, int *, int)} 0x4d9c1 +find_charset_functions:$280 = {struct charset_functions *(const char *)} 0x3b4b0 +_fini:$281 = {} 0x58f28 <_fini> +freeifacelist:$282 = {void (char **)} 0x42f4e +fullpathname:$283 = {const char *(const char *)} 0x4e484 +getcwdpath:$284 = {const char *(void)} 0x4e440 +get_eacontent:$285 = {int (const struct vol *, char *, size_t *, const char *, int, const char *, int)} 0x55481 +get_easize:$286 = {int (const struct vol *, char *, size_t *, const char *, int, const char *)} 0x5520d +getifacelist:$287 = {char **(void)} 0x42ed1 +getip_port:$288 = {unsigned int (const struct sockaddr *)} 0x4d5ff +getip_string:$289 = {const char *(const struct sockaddr *)} 0x4d4fc +getnamefromuuid:$290 = {int (const uuidp_t, char **, uuidtype_t *)} 0x11ea9 +getuuidfromname:$291 = {int (const char *, uuidtype_t, unsigned char *)} 0x11a3d +getvolbyname:$292 = {struct vol *(const char *)} 0x49305 +getvolbypath:$293 = {struct vol *(AFPObj *, const char *)} 0x48804 +getvolbyvid:$294 = {struct vol *(const uint16_t)} 0x487a2 +getvolumes:$295 = {struct vol *(void)} 0x48795 +gmem:$296 = {int (gid_t, int, gid_t *)} 0x4e89e +iniparser_dump:$297 = {void (const dictionary *, FILE *)} 0x2e13a +iniparser_dump_ini:$298 = {void (const dictionary *, FILE *)} 0x2e235 +iniparser_find_entry:$299 = {int (const dictionary *, const char *)} 0x2e783 +iniparser_freedict:$300 = {void (dictionary *)} 0x2eff3 +iniparser_getboolean:$301 = {int (const dictionary *, const char *, const char *, int)} 0x2e6ad +iniparser_getdouble:$302 = {double (const dictionary *, const char *, const char *, double)} 0x2e650 +iniparser_getint:$303 = {int (const dictionary *, const char *, const char *, int)} 0x2e5f3 +iniparser_getnsec:$304 = {int (const dictionary *)} 0x2dfde +iniparser_getsecname:$305 = {const char *(const dictionary *, int)} 0x2e06d +iniparser_getstrdup:$306 = {char *(const dictionary *, const char *, const char *, const char *)} 0x2e586 +iniparser_getstring:$307 = {const char *(const dictionary *, const char *, const char *, const char *)} 0x2e52f +iniparser_load:$308 = {dictionary *(const char *)} 0x2eadb +iniparser_set:$309 = {int (dictionary *, char *, char *, char *)} 0x2e7c5 +iniparser_unset:$310 = {void (dictionary *, char *, char *)} 0x2e7f4 +_init:$311 = {} 0xe7e0 <_init> +init_iconv:$312 = {void (void)} 0x3c46a +initvol_vfs:$313 = {void (struct vol *)} 0x5234a +ipc_child_write:$314 = {int (int, uint16_t, int, void *)} 0x4c541 +ipc_client_uds:$315 = {int (const char *)} 0x4bb88 +ipc_server_read:$316 = {int (server_child *, int)} 0x4bffa +ipc_server_uds:$317 = {int (const char *)} 0x4b90c +islower_sp:$318 = {int (uint32_t)} 0x39941 +islower_w:$319 = {int (uint16_t)} 0x39920 +isupper_sp:$320 = {int (uint32_t)} 0x39980 +isupper_w:$321 = {int (uint16_t)} 0x3995f +lchdir:$322 = {int (const char *)} 0x4e58c +ldap_auth_dn:$323 = 0x0 +ldap_auth_method:$324 = 0 +ldap_auth_pw:$325 = 0x0 +ldap_config_valid:$326 = 0 +ldap_getnamefromuuid:$327 = {int (const char *, char **, uuidtype_t *)} 0x12c0f +ldap_getuuidfromname:$328 = {int (const char *, uuidtype_t, char **)} 0x12a1c +ldap_group_attr:$329 = 0x0 +ldap_groupbase:$330 = 0x0 +ldap_groupscope:$331 = 0 +ldap_name_attr:$332 = 0x0 +ldap_prefs:$333 = {{pref = 0x0, name = 0x59458 "ldap server", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x59464 "ldap auth method", strorint = 1, intfromarray = 1, valid = -1}, {pref = 0x0, name = 0x59475 "ldap auth dn", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x59482 "ldap auth pw", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x5948f "ldap userbase", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x5949d "ldap userscope", strorint = 1, intfromarray = 1, valid = -1}, {pref = 0x0, name = 0x594ac "ldap groupbase", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x594bb "ldap groupscope", strorint = 1, intfromarray = 1, valid = -1}, {pref = 0x0, name = 0x594cb "ldap uuid attr", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x594da "ldap uuid string", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x594eb "ldap name attr", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x594fa "ldap group attr", strorint = 0, intfromarray = 0, valid = -1}, {pref = 0x0, name = 0x5950a "ldap uid attr", strorint = 0, intfromarray = 0, valid = 0}, {pref = 0x0, name = 0x0, strorint = 0, intfromarray = 0, valid = -1}} +ldap_server:$334 = 0x0 +ldap_uid_attr:$335 = 0x0 +ldap_userbase:$336 = 0x0 +ldap_userscope:$337 = 0 +ldap_uuid_attr:$338 = 0x0 +ldap_uuid_string:$339 = 0x0 +list_eas:$340 = {int (const struct vol *, char *, size_t *, const char *, int)} 0x55875 +load_charset:$341 = {int (struct vol *)} 0x48186 +load_volumes:$342 = {int (AFPObj *, void (*)(const AFPObj *, struct vol *))} 0x48282 +localuuid_from_id:$343 = {void (unsigned char *, uuidtype_t, unsigned int)} 0x1181c +lock_reg:$344 = {int (int, int, int, off_t, int, off_t)} 0x42f9c +log_config:$345 = {inited = false, syslog_opened = false, console = false, processname = '\0' , syslog_facility = 0, syslog_display_options = 0} +lstatat:$346 = {int (int, const char *, struct stat *)} 0x52f44 +make_log_entry:$347 = {void (enum loglevels, enum logtypes, const char *, int, char *, ...)} 0x43b23 +make_tdb_data:$348 = {unsigned char *(uint32_t, const struct stat *, const cnid_t, const char *, const size_t)} 0x27d2a +mb_generic_pull:$349 = {size_t (int (*)(uint16_t *, const unsigned char *), void *, char **, size_t *, char **, size_t *)} 0x40163 +mb_generic_push:$350 = {size_t (int (*)(unsigned char *, uint16_t), void *, char **, size_t *, char **, size_t *)} 0x40050 +namecache:$351 = {0x0 } +netatalk_panic:$352 = {void (const char *)} 0x42a3d +netatalk_rmdir:$353 = {int (int, const char *)} 0x52669 +netatalk_rmdir_all_errors:$354 = {int (int, const char *)} 0x525c5 +netatalk_unlink:$355 = {int (const char *)} 0x526a4 +netatalk_unlinkat:$356 = {int (int, const char *)} 0x52e2d +nftw:$357 = {int (const char *, nftw_func_t, dir_notification_func_t, int, int)} 0x4feaa +opendirat:$358 = {DIR *(int, const char *)} 0x52f7b +openflags2logstr:$359 = {const char *(int)} 0x179b3 +posix_chmod:$360 = {int (const char *, mode_t)} 0x11290 +posix_fchmod:$361 = {int (int, mode_t)} 0x115aa +precompose_w:$362 = {size_t (uint16_t *, size_t, uint16_t *, size_t *)} 0x3a810 +prefs_array:$363 = {{pref = 0x59464 "ldap auth method", valuestring = 0x59518 "none", value = 0}, {pref = 0x59464 "ldap auth method", valuestring = 0x5951d "simple", value = 128}, {pref = 0x59464 "ldap auth method", valuestring = 0x59524 "sasl", value = 163}, {pref = 0x5949d "ldap userscope", valuestring = 0x59529 "base", value = 0}, {pref = 0x5949d "ldap userscope", valuestring = 0x5952e "one", value = 1}, {pref = 0x5949d "ldap userscope", valuestring = 0x59532 "sub", value = 2}, {pref = 0x594bb "ldap groupscope", valuestring = 0x59529 "base", value = 0}, {pref = 0x594bb "ldap groupscope", valuestring = 0x5952e "one", value = 1}, {pref = 0x594bb "ldap groupscope", valuestring = 0x59532 "sub", value = 2}, {pref = 0x0, valuestring = 0x0, value = 0}} +prequeue:$364 = {qnode_t *(q_t *, void *)} 0x4a84d +queue_destroy:$365 = {void (q_t *, void (*)(void *))} 0x4a93b +queue_init:$366 = {q_t *(void)} 0x4a78d +randombytes:$367 = {void (void *, int)} 0x4e7e1 +readt:$368 = {ssize_t (int, void *, const size_t, int, int)} 0x4cbc6 +reconnect_ipc:$369 = {int (AFPObj *)} 0x4be84 +recv_fd:$370 = {int (int, int)} 0x4db17 +rel_path_in_vol:$371 = {bstring (const char *, const char *)} 0x42360 +remove_acl_vfs:$372 = {int (const char *)} 0x58a20 +remove_ea:$373 = {int (const struct vol *, const char *, const char *, int)} 0x55d2a +run_cmd:$374 = {int (const char *, char **)} 0x4e0d4 +search_cachebyname:$375 = {int (const char *, uuidtype_t *, unsigned char *)} 0x10c0c +search_cachebyuuid:$376 = {int (uuidp_t, char **, uuidtype_t *)} 0x10e0d +send_fd:$377 = {int (int, int)} 0x4dd43 +server_child_add:$378 = {afp_child_t *(server_child *, int, pid_t, int)} 0x4aa5b +server_child_alloc:$379 = {server_child *(const int, const int)} 0x4a9ce +server_child_free:$380 = {void (server_child *)} 0x4ad99 +server_child_kill:$381 = {void (server_child *, int, int)} 0x4ae76 +server_child_kill_one_by_id:$382 = {void (server_child *, int, pid_t, uid_t, uint32_t, char *, uint32_t)} 0x4b34c +server_child_remove:$383 = {int (server_child *, const int, pid_t)} 0x4ac63 +server_child_setup:$384 = {void (server_child *, const int, void (*)(const pid_t))} 0x4b5b0 +server_child_transfer_session:$385 = {int (server_child *, int, pid_t, uid_t, int, uint16_t)} 0x4af99 +server_lock:$386 = {pid_t (char *, char *, int)} 0x4c704 +server_reset_signal:$387 = {void (void)} 0x4b5fa +set_ea:$388 = {int (const struct vol *, const char *, const char *, const char *, size_t, int)} 0x55b49 +setfilmode:$389 = {int (const char *, mode_t, struct stat *, mode_t)} 0x524d8 +setnonblock:$390 = {int (int, int)} 0x4cb3c +set_processname:$391 = {void (const char *)} 0x43af1 +setuplog:$392 = {void (const char *, const char *)} 0x441d7 +statat:$393 = {int (int, const char *, struct stat *)} 0x52f0d +strcasechr_sp:$394 = {uint16_t *(const uint16_t *, uint32_t)} 0x39ae7 +strcasechr_w:$395 = {uint16_t *(const uint16_t *, uint16_t)} 0x39a70 +strcasecmp_w:$396 = {int (const uint16_t *, const uint16_t *)} 0x39e63 +strcasestr_w:$397 = {uint16_t *(const uint16_t *, const uint16_t *)} 0x39cff +strcat_w:$398 = {uint16_t *(uint16_t *, const uint16_t *)} 0x3a3b2 +strchr_w:$399 = {uint16_t *(const uint16_t *, uint16_t)} 0x39a15 +strcmp_w:$400 = {int (const uint16_t *, const uint16_t *)} 0x39b73 +strdiacasecmp:$401 = {int (const char *, const char *)} 0x4df38 +strdup_w:$402 = {uint16_t *(const uint16_t *)} 0x3a269 +stripped_slashes_basename:$403 = {char *(char *)} 0x4e510 +strlcat:$404 = {size_t (char *, const char *, size_t)} 0x2987e +strlcpy:$405 = {size_t (char *, const char *, size_t)} 0x29804 +strlen_w:$406 = {size_t (const uint16_t *)} 0x3999e +strlower_w:$407 = {int (uint16_t *)} 0x39704 +strncasecmp_w:$408 = {int (const uint16_t *, const uint16_t *, size_t)} 0x39feb +strncat_w:$409 = {uint16_t *(uint16_t *, const uint16_t *, const size_t)} 0x3a327 +strncmp_w:$410 = {int (const uint16_t *, const uint16_t *, size_t)} 0x39bc6 +strncpy_w:$411 = {uint16_t *(uint16_t *, const uint16_t *, const size_t)} 0x3a285 +strndiacasecmp:$412 = {int (const char *, const char *, size_t)} 0x4dfdb +strndup_w:$413 = {uint16_t *(const uint16_t *, size_t)} 0x3a1b6 +strnlen_w:$414 = {size_t (const uint16_t *, size_t)} 0x399d1 +strstr_w:$415 = {uint16_t *(const uint16_t *, const uint16_t *)} 0x39c4b +strupper_w:$416 = {int (uint16_t *)} 0x39812 +sys_ea_copyfile:$417 = {int (const struct vol *, int, const char *, const char *)} 0x580f0 +sys_fgetxattr:$418 = {ssize_t (int, const char *, void *, size_t)} 0x5872e +sys_fsetxattr:$419 = {int (int, const char *, const void *, size_t, int)} 0x58993 +sys_ftruncate:$420 = {int (int, off_t)} 0x1c571 +sys_get_eacontent:$421 = {int (const struct vol *, char *, size_t *, const char *, int, const char *, int)} 0x578b1 +sys_get_easize:$422 = {int (const struct vol *, char *, size_t *, const char *, int, const char *)} 0x57668 +sys_getxattr:$423 = {ssize_t (const char *, const char *, void *, size_t)} 0x586f2 +sys_getxattrfd:$424 = {int (int, const char *, int, ...)} 0x58652 +sys_lgetxattr:$425 = {ssize_t (const char *, const char *, void *, size_t)} 0x58768 +sys_list_eas:$426 = {int (const struct vol *, char *, size_t *, const char *, int)} 0x57ab6 +sys_listxattr:$427 = {ssize_t (const char *, char *, size_t)} 0x5887d +sys_llistxattr:$428 = {ssize_t (const char *, char *, size_t)} 0x588b9 +sys_lremovexattr:$429 = {int (const char *, const char *)} 0x58921 +sys_lsetxattr:$430 = {int (const char *, const char *, const void *, size_t, int)} 0x589d7 +sys_remove_ea:$431 = {int (const struct vol *, const char *, const char *, int)} 0x57fe2 +sys_removexattr:$432 = {int (const char *, const char *)} 0x588f5 +sys_sendfile:$433 = {ssize_t (int, int, off_t *, size_t)} 0x1c130 +sys_set_ea:$434 = {int (const struct vol *, const char *, const char *, const char *, size_t, int)} 0x57d6b +sys_setxattr:$435 = {int (const char *, const char *, const void *, size_t, int)} 0x5894d +tdb_add_flags:$436 = {void (struct tdb_context *, unsigned int)} 0x358c5 +tdb_allocate:$437 = {tdb_off_t (struct tdb_context *, tdb_len_t, struct tdb_record *)} 0x3089b +tdb_alloc_read:$438 = {unsigned char *(struct tdb_context *, tdb_off_t, tdb_len_t)} 0x31bbc +tdb_append:$439 = {int (struct tdb_context *, TDB_DATA, TDB_DATA)} 0x35676 +tdb_brlock:$440 = {int (struct tdb_context *, tdb_off_t, int, int, int, size_t)} 0x31f3d +tdb_brlock_upgrade:$441 = {int (struct tdb_context *, tdb_off_t, size_t)} 0x320a8 +tdb_chainlock:$442 = {int (struct tdb_context *, TDB_DATA)} 0x32d2b +tdb_chainlock_mark:$443 = {int (struct tdb_context *, TDB_DATA)} 0x32dd5 +tdb_chainlock_nonblock:$444 = {int (struct tdb_context *, TDB_DATA)} 0x32d80 +tdb_chainlock_read:$445 = {int (struct tdb_context *, TDB_DATA)} 0x32ec8 +tdb_chainlock_unmark:$446 = {int (struct tdb_context *, TDB_DATA)} 0x32e2a +tdb_chainunlock:$447 = {int (struct tdb_context *, TDB_DATA)} 0x32e79 +tdb_chainunlock_read:$448 = {int (struct tdb_context *, TDB_DATA)} 0x32f1d +tdb_check:$449 = {int (struct tdb_context *, int (*)(TDB_DATA, TDB_DATA, void *), void *)} 0x2f934 +tdb_close:$450 = {int (struct tdb_context *)} 0x33f80 +tdb_convert:$451 = {void *(void *, uint32_t)} 0x3111a +tdb_delete:$452 = {int (struct tdb_context *, TDB_DATA)} 0x3511f +tdb_do_delete:$453 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x34c5f +tdb_dump_all:$454 = {void (struct tdb_context *)} 0x30004 +tdb_enable_seqnum:$455 = {void (struct tdb_context *)} 0x35a3d +tdb_error:$456 = {enum TDB_ERROR (struct tdb_context *)} 0x301ec +tdb_errorstr:$457 = {const char *(struct tdb_context *)} 0x301fd +tdb_exists:$458 = {int (struct tdb_context *, TDB_DATA)} 0x34c1b +tdb_expand:$459 = {int (struct tdb_context *, tdb_off_t)} 0x317ae +tdb_fd:$460 = {int (struct tdb_context *)} 0x3583d +tdb_fetch:$461 = {TDB_DATA (struct tdb_context *, TDB_DATA)} 0x34a72 +tdb_find_lock_hash:$462 = {tdb_off_t (struct tdb_context *, TDB_DATA, uint32_t, int, struct tdb_record *)} 0x34749 +tdb_firstkey:$463 = {TDB_DATA (struct tdb_context *)} 0x39209 +tdb_free:$464 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x303fe +tdb_freelist_size:$465 = {int (struct tdb_context *)} 0x30b1d +tdb_get_flags:$466 = {int (struct tdb_context *)} 0x358b1 +tdb_get_logging_private:$467 = {void *(struct tdb_context *)} 0x34110 +tdb_get_seqnum:$468 = {int (struct tdb_context *)} 0x35863 +tdb_hash_size:$469 = {int (struct tdb_context *)} 0x3588d +tdb_increment_seqnum_nonblock:$470 = {void (struct tdb_context *)} 0x344f4 +tdb_io_init:$471 = {void (struct tdb_context *)} 0x31f04 +tdb_lock:$472 = {int (struct tdb_context *, int, int)} 0x32470 +tdb_lockall:$473 = {int (struct tdb_context *)} 0x32c26 +tdb_lockall_mark:$474 = {int (struct tdb_context *)} 0x32c47 +tdb_lockall_nonblock:$475 = {int (struct tdb_context *)} 0x32c84 +tdb_lockall_read:$476 = {int (struct tdb_context *)} 0x32cc7 +tdb_lockall_read_nonblock:$477 = {int (struct tdb_context *)} 0x32ce8 +tdb_lockall_unmark:$478 = {int (struct tdb_context *)} 0x32c68 +tdb_lock_nonblock:$479 = {int (struct tdb_context *, int, int)} 0x324e4 +tdb_lock_record:$480 = {int (struct tdb_context *, tdb_off_t)} 0x32f6c +tdb_log_fn:$481 = {tdb_log_func (struct tdb_context *)} 0x3584e +tdb_map_size:$482 = {size_t (struct tdb_context *)} 0x3589e +tdb_mmap:$483 = {void (struct tdb_context *)} 0x31400 +tdb_munmap:$484 = {int (struct tdb_context *)} 0x313c6 +tdb_name:$485 = {const char *(struct tdb_context *)} 0x3582c +tdb_nextkey:$486 = {TDB_DATA (struct tdb_context *, TDB_DATA)} 0x3933e +tdb_null:$487 = {dptr = 0x0, dsize = 0} +tdb_ofs_read:$488 = {int (struct tdb_context *, tdb_off_t, tdb_off_t *)} 0x31b05 +tdb_ofs_write:$489 = {int (struct tdb_context *, tdb_off_t, tdb_off_t *)} 0x31b4b +tdb_open:$490 = {struct tdb_context *(const char *, int, int, int, mode_t)} 0x33462 +tdb_open_ex:$491 = {struct tdb_context *(const char *, int, int, int, mode_t, const struct tdb_logging_context *, tdb_hash_func)} 0x33531 +tdb_parse_data:$492 = {int (struct tdb_context *, TDB_DATA, tdb_off_t, tdb_len_t, int (*)(TDB_DATA, TDB_DATA, void *), void *)} 0x31ca1 +tdb_parse_record:$493 = {int (struct tdb_context *, TDB_DATA, int (*)(TDB_DATA, TDB_DATA, void *), void *)} 0x34ac9 +tdb_printfreelist:$494 = {int (struct tdb_context *)} 0x30053 +tdb_rec_free_read:$495 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x30268 +tdb_rec_read:$496 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x31da1 +tdb_rec_write:$497 = {int (struct tdb_context *, tdb_off_t, struct tdb_record *)} 0x31e81 +tdb_remove_flags:$498 = {void (struct tdb_context *, unsigned int)} 0x35980 +tdb_reopen:$499 = {int (struct tdb_context *)} 0x3445d +tdb_reopen_all:$500 = {int (int)} 0x34484 +tdb_repack:$501 = {int (struct tdb_context *)} 0x35ee3 +tdb_setalarm_sigptr:$502 = {void (struct tdb_context *, volatile sig_atomic_t *)} 0x31f20 +tdb_set_logging_function:$503 = {void (struct tdb_context *, const struct tdb_logging_context *)} 0x340e5 +tdb_set_max_dead:$504 = {void (struct tdb_context *, int)} 0x33f66 +tdb_store:$505 = {int (struct tdb_context *, TDB_DATA, TDB_DATA, int)} 0x3557b +_tdb_transaction_cancel:$506 = {int (struct tdb_context *)} 0x37265 <_tdb_transaction_cancel> +tdb_transaction_cancel:$507 = {int (struct tdb_context *)} 0x3764e +tdb_transaction_commit:$508 = {int (struct tdb_context *)} 0x38307 +tdb_transaction_lock:$509 = {int (struct tdb_context *, int)} 0x327da +tdb_transaction_prepare_commit:$510 = {int (struct tdb_context *)} 0x382f0 +tdb_transaction_recover:$511 = {int (struct tdb_context *)} 0x386a8 +tdb_transaction_start:$512 = {int (struct tdb_context *)} 0x36d09 +tdb_transaction_unlock:$513 = {int (struct tdb_context *)} 0x328bd +tdb_traverse:$514 = {int (struct tdb_context *, tdb_traverse_func, void *)} 0x39143 +tdb_traverse_read:$515 = {int (struct tdb_context *, tdb_traverse_func, void *)} 0x390a9 +tdb_unlock:$516 = {int (struct tdb_context *, int, int)} 0x3250c +tdb_unlockall:$517 = {int (struct tdb_context *)} 0x32cab +tdb_unlockall_read:$518 = {int (struct tdb_context *)} 0x32d0f +tdb_unlock_record:$519 = {int (struct tdb_context *, tdb_off_t)} 0x33095 +tdb_validate_freelist:$520 = {int (struct tdb_context *, int *)} 0x30bee +tdb_wipe_all:$521 = {int (struct tdb_context *)} 0x35b35 +tdb_write_lock_record:$522 = {int (struct tdb_context *, tdb_off_t)} 0x32fda +tdb_write_unlock_record:$523 = {int (struct tdb_context *, tdb_off_t)} 0x33056 +tolower_sp:$524 = {uint32_t (uint32_t)} 0x3f715 +tolower_w:$525 = {uint16_t (uint16_t)} 0x3f4d1 +toupper_sp:$526 = {uint32_t (uint32_t)} 0x3f48c +toupper_w:$527 = {uint16_t (uint16_t)} 0x3f27c +type_configs:$528 = {{set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}, {set = false, syslog = false, fd = -1, level = log_none, display_options = 0}} +ucs2_to_charset:$529 = {size_t (charset_t, const uint16_t *, char *, size_t)} 0x3d431 +ucs2_to_charset_allocate:$530 = {size_t (charset_t, char **, const uint16_t *)} 0x3d482 +unbecome_root:$531 = {void (void)} 0x4e3fc +unix_rename:$532 = {int (int, const char *, int, const char *)} 0x52eb1 +unix_strlower:$533 = {size_t (const char *, size_t, char *, size_t)} 0x3d2fa +unix_strupper:$534 = {size_t (const char *, size_t, char *, size_t)} 0x3d2c3 +unload_volumes:$535 = {void (AFPObj *)} 0x486d9 +utf8_charlen:$536 = {size_t (char *)} 0x3af8e +utf8_decompose:$537 = {size_t (char *, size_t, char *, size_t)} 0x3d79a +utf8_precompose:$538 = {size_t (char *, size_t, char *, size_t)} 0x3d763 +utf8_strlen_validate:$539 = {size_t (char *)} 0x3b213 +utf8_strlower:$540 = {size_t (const char *, size_t, char *, size_t)} 0x3d368 +utf8_strupper:$541 = {size_t (const char *, size_t, char *, size_t)} 0x3d331 +utf8_to_charset_allocate:$542 = {size_t (charset_t, char **, const char *)} 0x3d4ce +uuid_bin2string:$543 = {const char *(const unsigned char *)} 0x11927 +uuidcache:$544 = {0x0 } +uuidcache_dump:$545 = {void (void)} 0x1056c +uuid_string2bin:$546 = {void (const char *, unsigned char *)} 0x11887 +uuidtype:$547 = {0x591f0 "", 0x591f1 "USER", 0x591f6 "GROUP", 0x591fc "LOCAL"} +volume_free:$548 = {void (struct vol *)} 0x48004 +volume_unlink:$549 = {void (struct vol *)} 0x47f8c +writet:$550 = {ssize_t (int, void *, const size_t, int, int)} 0x4d08a -- 2.39.2