]> arthur.barton.de Git - netatalk.git/commitdiff
Add ABI checking to libatalk build
authorFrank Lahm <franklahm@googlemail.com>
Wed, 30 May 2012 17:56:37 +0000 (19:56 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Wed, 30 May 2012 17:56:37 +0000 (19:56 +0200)
abigen.sh [new file with mode: 0755]
libatalk/.gitignore
libatalk/Makefile.am
libatalk/libatalk-3.0beta1.abi [new file with mode: 0644]
libatalk/libatalk-3.0dev.abi [new file with mode: 0644]

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