在libidn的stringprep.h里面,有这样的声明:
view plaincopy to clipboardprint?
extern IDN_DLL_VAR const Stringprep_profiles stringprep_profiles[];
extern IDN_DLL_VAR const Stringprep_table_element stringprep_rfc3454_A_1[];
extern IDN_DLL_VAR const Stringprep_profiles stringprep_profiles[];
extern IDN_DLL_VAR const Stringprep_table_element stringprep_rfc3454_A_1[];
声明的实现在c文件里面,例如profiles.c
view plaincopy to clipboardprint?
Stringprep_profiles stringprep_profiles[] = {
{"Nameprep", stringprep_nameprep},
{"KRBprep", stringprep_kerberos5}, /* Deprecate? */
{"Nodeprep", stringprep_xmpp_nodeprep},
{"Resourceprep", stringprep_xmpp_resourceprep},
{"plain", stringprep_plain}, /* sasl-anon-00. */
{"trace", stringprep_trace}, /* sasl-anon-01,02,03. */
{"SASLprep", stringprep_saslprep},
{"ISCSIprep", stringprep_iscsi}, /* Obsolete. */
{"iSCSI", stringprep_iscsi}, /* IANA. */
{NULL, NULL}
