<ENUM>
<NAME>psl_error_t</NAME>
typedef enum {
	PSL_SUCCESS = 0,
	PSL_ERR_INVALID_ARG = -1,
	PSL_ERR_CONVERTER = -2, /* failed to open libicu utf-16 converter */
	PSL_ERR_TO_UTF16 = -3, /* failed to convert to utf-16 */
	PSL_ERR_TO_LOWER = -4, /* failed to convert utf-16 to lowercase */
	PSL_ERR_TO_UTF8 = -5 /* failed to convert utf-16 to utf-8 */
} psl_error_t;
</ENUM>
<TYPEDEF>
<NAME>psl_ctx_t</NAME>
typedef struct _psl_ctx_st psl_ctx_t;
</TYPEDEF>
<FUNCTION>
<NAME>psl_free</NAME>
<RETURNS>void </RETURNS>
psl_ctx_t *psl 
</FUNCTION>
<FUNCTION>
<NAME>psl_load_file</NAME>
<RETURNS>psl_ctx_t  *</RETURNS>
const char *fname 
</FUNCTION>
<FUNCTION>
<NAME>psl_load_fp</NAME>
<RETURNS>psl_ctx_t  *</RETURNS>
FILE *fp 
</FUNCTION>
<FUNCTION>
<NAME>psl_builtin</NAME>
<RETURNS>const psl_ctx_t  *</RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>psl_is_public_suffix</NAME>
<RETURNS>int </RETURNS>
const psl_ctx_t *psl, const char *domain 
</FUNCTION>
<FUNCTION>
<NAME>psl_is_cookie_domain_acceptable</NAME>
<RETURNS>int </RETURNS>
const psl_ctx_t *psl, const char *hostname, const char *cookie_domain 
</FUNCTION>
<FUNCTION>
<NAME>psl_unregistrable_domain</NAME>
<RETURNS>const char  *</RETURNS>
const psl_ctx_t *psl, const char *domain 
</FUNCTION>
<FUNCTION>
<NAME>psl_registrable_domain</NAME>
<RETURNS>const char  *</RETURNS>
const psl_ctx_t *psl, const char *domain 
</FUNCTION>
<FUNCTION>
<NAME>psl_str_to_utf8lower</NAME>
<RETURNS>psl_error_t </RETURNS>
const char *str, const char *encoding, const char *locale, char **lower 
</FUNCTION>
<FUNCTION>
<NAME>psl_suffix_count</NAME>
<RETURNS>int </RETURNS>
const psl_ctx_t *psl 
</FUNCTION>
<FUNCTION>
<NAME>psl_suffix_exception_count</NAME>
<RETURNS>int </RETURNS>
const psl_ctx_t *psl 
</FUNCTION>
<FUNCTION>
<NAME>psl_builtin_compile_time</NAME>
<RETURNS>time_t </RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>psl_builtin_file_time</NAME>
<RETURNS>time_t </RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>psl_builtin_sha1sum</NAME>
<RETURNS>const char  *</RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>psl_builtin_filename</NAME>
<RETURNS>const char  *</RETURNS>
void 
</FUNCTION>
<FUNCTION>
<NAME>psl_get_version</NAME>
<RETURNS>const char  *</RETURNS>
void 
</FUNCTION>
