Blame docs/libpsl/html/libpsl-Public-Suffix-List-functions.html

Packit 0af36a
Packit 0af36a
<html>
Packit 0af36a
<head>
Packit 0af36a
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 0af36a
<title>libpsl: Libpsl Reference Manual</title>
Packit 0af36a
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit 0af36a
<link rel="home" href="index.html" title="Libpsl Reference Manual">
Packit 0af36a
<link rel="up" href="libpsl.html" title="Libpsl Overview">
Packit 0af36a
<link rel="prev" href="libpsl.html" title="Libpsl Overview">
Packit 0af36a
<link rel="next" href="object-tree.html" title="Object Hierarchy">
Packit 0af36a
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
Packit 0af36a
<link rel="stylesheet" href="style.css" type="text/css">
Packit 0af36a
</head>
Packit 0af36a
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 0af36a
Packit 0af36a
Packit 0af36a
Top  | 
Packit 0af36a
                  Description
Packit 0af36a
Packit 0af36a
Home
Packit 0af36a
Up
Packit 0af36a
Prev
Packit 0af36a
Next
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

libpsl

Packit 0af36a

libpsl — Public Suffix List library functions

Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

Stability Level

Packit 0af36a
Stable, unless otherwise indicated
Packit 0af36a
Packit 0af36a
Packit 0af36a

Functions

Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_ctx_t *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_load_file ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_ctx_t *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_load_fp ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_ctx_t *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_latest ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const psl_ctx_t *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_builtin ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
void
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_free ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_is_public_suffix ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_is_public_suffix2 ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const char *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_unregistrable_domain ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const char *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_registrable_domain ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_suffix_count ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_suffix_exception_count ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_suffix_wildcard_count ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
time_t
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_builtin_file_time ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const char *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_builtin_sha1sum ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const char *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_builtin_filename ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_builtin_outdated ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_is_cookie_domain_acceptable ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const char *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_dist_filename ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
const char *
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_get_version ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
int
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_check_version_number ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_error_t
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_str_to_utf8lower ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
void
Packit 0af36a
Packit 0af36a
Packit 0af36a
psl_free_string ()
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

Types and Values

Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_VERSION
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_VERSION_MAJOR
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_VERSION_MINOR
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_VERSION_NUMBER
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_VERSION_PATCH
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_TYPE_ICANN
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_TYPE_PRIVATE
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_TYPE_NO_STAR_RULE
Packit 0af36a
Packit 0af36a
Packit 0af36a
#define
Packit 0af36a
PSL_TYPE_ANY
Packit 0af36a
Packit 0af36a
Packit 0af36a
enum
Packit 0af36a
psl_error_t
Packit 0af36a
Packit 0af36a
Packit 0af36a
typedef
Packit 0af36a
psl_ctx_t
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

Includes

Packit 0af36a
#include <libpsl.h>
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

Description

Packit 0af36a

Public Suffix List library functions.

Packit 0af36a
Packit 0af36a
Packit 0af36a

Functions

Packit 0af36a
Packit 0af36a

psl_load_file ()

Packit 0af36a
psl_ctx_t *
Packit 0af36a
psl_load_file (const char *fname);
Packit 0af36a

This function loads the public suffixes file named fname

Packit 0af36a
.
Packit 0af36a
To free the allocated resources, call psl_free().

Packit 0af36a

The suffixes are expected to be UTF-8 encoded (lowercase + NFKC) if they are international.

Packit 0af36a
Packit 0af36a

Parameters

Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

fname

Packit 0af36a

Name of PSL file

Packit 0af36a
 
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

Returns

Packit 0af36a

Pointer to a PSL context or NULL on failure.

Packit 0af36a
Packit 0af36a

Since: 0.1

Packit 0af36a
Packit 0af36a

Packit 0af36a
Packit 0af36a

psl_load_fp ()

Packit 0af36a
psl_ctx_t *
Packit 0af36a
psl_load_fp (FILE *fp);
Packit 0af36a

This function loads the public suffixes from a FILE pointer.

Packit 0af36a
To free the allocated resources, call psl_free().

Packit 0af36a

The suffixes are expected to be UTF-8 encoded (lowercase + NFKC) if they are international.

Packit 0af36a
Packit 0af36a

Parameters

Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

fp

Packit 0af36a

FILE pointer

Packit 0af36a
 
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a
Packit 0af36a

Returns

Packit 0af36a

Pointer to a PSL context or NULL on failure.

Packit 0af36a
Packit 0af36a

Since: 0.1

Packit 0af36a
Packit 0af36a

Packit 0af36a
Packit 0af36a

psl_latest ()

Packit 0af36a
psl_ctx_t *
Packit 0af36a
psl_latest (const char *fname);
Packit 0af36a

This function loads the the latest available PSL data from either

Packit 0af36a
    Packit 0af36a
  • fname

  • Packit 0af36a
     (application specific filename, may be NULL)

    Packit 0af36a
  • location specified during built-time (filename from ./configure --with-psl-distfile)

  • Packit 0af36a
  • built-in PSL data (generated from ./configure --with-psl-file)

  • Packit 0af36a
  • location of built-in data (filename from ./configure --with-psl-file)

  • Packit 0af36a
    Packit 0af36a

    If none of the above is available, the function returns NULL.

    Packit 0af36a

    To free the allocated resources, call psl_free().

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    fname

    Packit 0af36a

    Name of PSL file or NULL

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Pointer to a PSL context or NULL on failure.

    Packit 0af36a
    Packit 0af36a

    Since: 0.16

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_builtin ()

    Packit 0af36a
    const psl_ctx_t *
    Packit 0af36a
    psl_builtin (void);
    Packit 0af36a

    This function returns the PSL context that has been generated and built in at compile-time.

    Packit 0af36a
    You don't have to free the returned context explicitly.

    Packit 0af36a

    The builtin data also contains punycode entries, one for each international domain name.

    Packit 0af36a

    If the generation of built-in data has been disabled during compilation, NULL will be returned.

    Packit 0af36a
    When using the builtin psl context, you can provide UTF-8 (lowercase + NFKC) or ASCII/ACE (punycode)
    Packit 0af36a
    representations of domains to functions like psl_is_public_suffix().

    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Pointer to the built in PSL data or NULL if this data is not available.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_free ()

    Packit 0af36a
    void
    Packit 0af36a
    psl_free (psl_ctx_t *psl);
    Packit 0af36a

    This function frees the the PSL context that has been retrieved via

    Packit 0af36a
    psl_load_fp() or psl_load_file().

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context pointer

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_is_public_suffix ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_is_public_suffix (const psl_ctx_t *psl,
    Packit 0af36a
                          const char *domain);
    Packit 0af36a

    This function checks if domain

    Packit 0af36a
     is a public suffix by the means of the
    Packit 0af36a
    Mozilla Public Suffix List.

    Packit 0af36a

    For cookie domain checking see psl_is_cookie_domain_acceptable().

    Packit 0af36a

    International domain

    Packit 0af36a
     names have to be either in UTF-8 (lowercase + NFKC) or in ASCII/ACE format (punycode).
    Packit 0af36a
    Other encodings likely result in incorrect return values.
    Packit 0af36a
    Use helper function psl_str_to_utf8lower() for normalization domain
    Packit 0af36a
    .

    Packit 0af36a

    psl

    Packit 0af36a
     is a context returned by either psl_load_file(), psl_load_fp() or
    Packit 0af36a
    psl_builtin().

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    domain

    Packit 0af36a

    Domain string

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    1 if domain is a public suffix, 0 if not.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_is_public_suffix2 ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_is_public_suffix2 (const psl_ctx_t *psl,
    Packit 0af36a
                           const char *domain,
    Packit 0af36a
                           int type);
    Packit 0af36a

    This function checks if domain

    Packit 0af36a
     is a public suffix by the means of the
    Packit 0af36a
    Mozilla Public Suffix List.

    Packit 0af36a

    type

    Packit 0af36a
     specifies the PSL section where to perform the lookup. Valid values are
    Packit 0af36a
    PSL_TYPE_PRIVATE, PSL_TYPE_ICANN, PSL_TYPE_NO_STAR_RULE, and PSL_TYPE_ANY.

    Packit 0af36a

    PSL_TYPE_NO_STAR_RULE switches of the 'prevailing star rule' (see

    Packit 0af36a
    List under 'Algorithm' 2.).
    Packit 0af36a
    Applying the flag means that TLDs not explicitly listed in the PSL are *not* treated as public suffixes.

    Packit 0af36a

    International domain

    Packit 0af36a
     names have to be either in UTF-8 (lowercase + NFKC) or in ASCII/ACE format (punycode).
    Packit 0af36a
    Other encodings likely result in incorrect return values.
    Packit 0af36a
    Use helper function psl_str_to_utf8lower() for normalization domain
    Packit 0af36a
    .

    Packit 0af36a

    psl

    Packit 0af36a
     is a context returned by either psl_load_file(), psl_load_fp() or
    Packit 0af36a
    psl_builtin().

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    domain

    Packit 0af36a

    Domain string

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    type

    Packit 0af36a

    Domain type

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    1 if domain is a public suffix, 0 if not.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_unregistrable_domain ()

    Packit 0af36a
    const char *
    Packit 0af36a
    psl_unregistrable_domain (const psl_ctx_t *psl,
    Packit 0af36a
                              const char *domain);
    Packit 0af36a

    This function finds the longest public suffix part of domain

    Packit 0af36a
     by the means
    Packit 0af36a
    of the Mozilla Public Suffix List.

    Packit 0af36a

    International domain

    Packit 0af36a
     names have to be either in UTF-8 (lowercase + NFKC) or in ASCII/ACE format (punycode).
    Packit 0af36a
    Other encodings likely result in incorrect return values.
    Packit 0af36a
    Use helper function psl_str_to_utf8lower() for normalization domain
    Packit 0af36a
    .

    Packit 0af36a

    psl

    Packit 0af36a
     is a context returned by either psl_load_file(), psl_load_fp() or
    Packit 0af36a
    psl_builtin().

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    domain

    Packit 0af36a

    Domain string

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Pointer to longest public suffix part of domain

    Packit 0af36a
    or NULL if domain
    Packit 0af36a
    does not contain a public suffix (or if psl
    Packit 0af36a
    is NULL).

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_registrable_domain ()

    Packit 0af36a
    const char *
    Packit 0af36a
    psl_registrable_domain (const psl_ctx_t *psl,
    Packit 0af36a
                            const char *domain);
    Packit 0af36a

    This function finds the shortest private suffix part of domain

    Packit 0af36a
     by the means
    Packit 0af36a
    of the Mozilla Public Suffix List.

    Packit 0af36a

    International domain

    Packit 0af36a
     names have to be either in UTF-8 (lowercase + NFKC) or in ASCII/ACE format (punycode).
    Packit 0af36a
    Other encodings likely result in incorrect return values.
    Packit 0af36a
    Use helper function psl_str_to_utf8lower() for normalization domain
    Packit 0af36a
    .

    Packit 0af36a

    psl

    Packit 0af36a
     is a context returned by either psl_load_file(), psl_load_fp() or
    Packit 0af36a
    psl_builtin().

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    domain

    Packit 0af36a

    Domain string

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Pointer to shortest private suffix part of domain

    Packit 0af36a
    or NULL if domain
    Packit 0af36a
    does not contain a private suffix (or if psl
    Packit 0af36a
    is NULL).

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_suffix_count ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_suffix_count (const psl_ctx_t *psl);
    Packit 0af36a

    This function returns number of public suffixes maintained by psl

    Packit 0af36a
    .
    Packit 0af36a
    The number of exceptions within the Public Suffix List are not included.

    Packit 0af36a

    If the information is not available, the return value is -1 (since 0.19).

    Packit 0af36a
    This is the case with DAFSA blobs or if psl
    Packit 0af36a
     is NULL.

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context pointer

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Number of public suffixes entries in PSL context or -1 if this information is not available.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_suffix_exception_count ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_suffix_exception_count (const psl_ctx_t *psl);
    Packit 0af36a

    This function returns number of public suffix exceptions maintained by psl

    Packit 0af36a
    .

    Packit 0af36a

    If the information is not available, the return value is -1 (since 0.19).

    Packit 0af36a
    This is the case with DAFSA blobs or if psl
    Packit 0af36a
     is NULL.

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context pointer

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Number of public suffix exceptions in PSL context or -1 if this information is not available.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_suffix_wildcard_count ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_suffix_wildcard_count (const psl_ctx_t *psl);
    Packit 0af36a

    This function returns number of public suffix wildcards maintained by psl

    Packit 0af36a
    .

    Packit 0af36a

    If the information is not available, the return value is -1 (since 0.19).

    Packit 0af36a
    This is the case with DAFSA blobs or if psl
    Packit 0af36a
     is NULL.

    Packit 0af36a
    Packit 0af36a

    Parameters

    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    psl

    Packit 0af36a

    PSL context pointer

    Packit 0af36a
     
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    Number of public suffix wildcards in PSL context or -1 if this information is not available.

    Packit 0af36a
    Packit 0af36a

    Since: 0.10.0

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_builtin_file_time ()

    Packit 0af36a
    time_t
    Packit 0af36a
    psl_builtin_file_time (void);
    Packit 0af36a

    This function returns the mtime of the Public Suffix List file that has been built in.

    Packit 0af36a

    If the generation of built-in data has been disabled during compilation, 0 will be returned.

    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    time_t value or 0.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_builtin_sha1sum ()

    Packit 0af36a
    const char *
    Packit 0af36a
    psl_builtin_sha1sum (void);
    Packit 0af36a

    This function returns the SHA1 checksum of the Public Suffix List file that has been built in.

    Packit 0af36a
    The returned string is in lowercase hex encoding, e.g. "2af1e9e3044eda0678bb05949d7cca2f769901d8".

    Packit 0af36a

    If the generation of built-in data has been disabled during compilation, an empty string will be returned.

    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    String containing SHA1 checksum or an empty string.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_builtin_filename ()

    Packit 0af36a
    const char *
    Packit 0af36a
    psl_builtin_filename (void);
    Packit 0af36a

    This function returns the file name of the Public Suffix List file that has been built in.

    Packit 0af36a

    If the generation of built-in data has been disabled during compilation, an empty string will be returned.

    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    String containing the PSL file name or an empty string.

    Packit 0af36a
    Packit 0af36a

    Since: 0.1

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_builtin_outdated ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_builtin_outdated (void);
    Packit 0af36a

    This function checks if the built-in data is older than the file it has been created from.

    Packit 0af36a
    If it is, it might be a good idea for the application to reload the PSL.
    Packit 0af36a
    The mtime is taken as reference.

    Packit 0af36a

    If the PSL file does not exist, it is assumed that the built-in data is not outdated.

    Packit 0af36a
    Packit 0af36a

    Returns

    Packit 0af36a

    1 if the built-in is outdated, 0 otherwise.

    Packit 0af36a
    Packit 0af36a

    Since: 0.10.0

    Packit 0af36a
    Packit 0af36a

    Packit 0af36a
    Packit 0af36a

    psl_is_cookie_domain_acceptable ()

    Packit 0af36a
    int
    Packit 0af36a
    psl_is_cookie_domain_acceptable (const psl_ctx_t *psl,
    Packit 0af36a
                                     const char *hostname,
    Packit 0af36a
                                     const char *cookie_domain);
    Packit 0af36a

    This helper function checks whether cookie_domain

    Packit 0af36a
     is an acceptable cookie domain value for the request
    Packit 0af36a
    hostname
    Packit 0af36a
    .

    Packit 0af36a

    For international domain names both, hostname

    Packit 0af36a
     and cookie_domain
    Packit 0af36a
    , have to be either in UTF-8 (lowercase + NFKC)
    Packit 0af36a
    or in ASCII/ACE (punycode) format. Other encodings or mixing UTF-8 and punycode likely result in incorrect return values.

    Packit 0af36a

    Use helper function psl_str_to_utf8lower() for normalization of hostname

    Packit 0af36a
     and cookie_domain
    Packit 0af36a
    .

    Packit 0af36a

    Examples:

    Packit 0af36a
      Packit 0af36a
    1. Cookie domain 'example.com' would be acceptable for hostname 'www.example.com',

    2. Packit 0af36a
      but '.com' or 'com' would NOT be acceptable since 'com' is a public suffix.

      Packit 0af36a
    3. Cookie domain 'his.name' would be acceptable for hostname 'remember.his.name',

    4. Packit 0af36a
      but NOT for 'forgot.his.name' since 'forgot.his.name' is a public suffix.

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Parameters

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      psl

      Packit 0af36a

      PSL context pointer

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      hostname

      Packit 0af36a

      The request hostname.

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      cookie_domain

      Packit 0af36a

      The domain value from a cookie

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Returns

      Packit 0af36a

      1 if acceptable, 0 if not acceptable.

      Packit 0af36a
      Packit 0af36a

      Since: 0.1

      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      psl_dist_filename ()

      Packit 0af36a
      const char *
      Packit 0af36a
      psl_dist_filename (void);
      Packit 0af36a

      This function returns the file name of the distribution/system PSL data file.

      Packit 0af36a
      This file will be considered by psl_latest().

      Packit 0af36a

      Return the filename that is set by ./configure --with-psl-distfile, or an empty string.

      Packit 0af36a
      Packit 0af36a

      Returns

      Packit 0af36a

      String containing a PSL file name or an empty string.

      Packit 0af36a
      Packit 0af36a

      Since: 0.16

      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      psl_get_version ()

      Packit 0af36a
      const char *
      Packit 0af36a
      psl_get_version (void);
      Packit 0af36a

      Get libpsl version.

      Packit 0af36a
      Packit 0af36a

      Returns

      Packit 0af36a

      String containing version of libpsl.

      Packit 0af36a
      Packit 0af36a

      Since: 0.2.5

      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      psl_check_version_number ()

      Packit 0af36a
      int
      Packit 0af36a
      psl_check_version_number (int version);
      Packit 0af36a

      Check the given version number is at minimum the current library version number.

      Packit 0af36a
      The version number must be a hexadecimal number like 0x000a01 (V0.10.1).

      Packit 0af36a
      Packit 0af36a

      Parameters

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      version

      Packit 0af36a

      Version number (hex) to check against.

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Returns

      Packit 0af36a

      Returns the library version number if the given version number is at least

      Packit 0af36a
      the version of the library, else return 0; If the argument is 0, the function returns
      Packit 0af36a
      the library version number without performing a check.

      Packit 0af36a
      Packit 0af36a

      Since: 0.11.0

      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      psl_str_to_utf8lower ()

      Packit 0af36a
      psl_error_t
      Packit 0af36a
      psl_str_to_utf8lower (const char *str,
      Packit 0af36a
                            const char *encoding,
      Packit 0af36a
                            const char *locale,
      Packit 0af36a
                            char **lower);
      Packit 0af36a

      This helper function converts a string to UTF-8 lowercase + NFKC representation.

      Packit 0af36a
      Lowercase + NFKC UTF-8 is needed as input to the domain checking functions.

      Packit 0af36a

      lower

      Packit 0af36a
       stays unchanged on error.

      Packit 0af36a

      When returning PSL_SUCCESS, the return value 'lower' must be freed after usage.

      Packit 0af36a
      Packit 0af36a

      Parameters

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      str

      Packit 0af36a

      string to convert

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      encoding

      Packit 0af36a

      charset encoding of str

      Packit 0af36a
      , e.g. 'iso-8859-1' or NULL

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      locale

      Packit 0af36a

      locale of str

      Packit 0af36a
      for to lowercase conversion, e.g. 'de' or NULL

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      lower

      Packit 0af36a

      return value containing the converted string

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Returns

      Packit 0af36a

      psl_error_t value.

      Packit 0af36a
      PSL_SUCCESS: Success
      Packit 0af36a
      PSL_ERR_INVALID_ARG: str
      Packit 0af36a
      is a NULL value.
      Packit 0af36a
      PSL_ERR_CONVERTER: Failed to open the unicode converter with name encoding
      Packit 0af36a
      PSL_ERR_TO_UTF16: Failed to convert str
      Packit 0af36a
      to unicode
      Packit 0af36a
      PSL_ERR_TO_LOWER: Failed to convert unicode to lowercase
      Packit 0af36a
      PSL_ERR_TO_UTF8: Failed to convert unicode to UTF-8
      Packit 0af36a
      PSL_ERR_NO_MEM: Failed to allocate memory

      Packit 0af36a
      Packit 0af36a

      Since: 0.4

      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      psl_free_string ()

      Packit 0af36a
      void
      Packit 0af36a
      psl_free_string (char *str);
      Packit 0af36a

      This function free()'s the memory allocated by psl_str_to_utf8lower() when

      Packit 0af36a
      returning a lowercase string

      Packit 0af36a
      Packit 0af36a

      Parameters

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      str

      Packit 0af36a

      pointer to lowercase string returned by psl_str_to_utf8lower()

      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Since: 0.19

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Types and Values

      Packit 0af36a
      Packit 0af36a

      PSL_VERSION

      Packit 0af36a
      #define PSL_VERSION "0.20.2"
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_VERSION_MAJOR

      Packit 0af36a
      #define PSL_VERSION_MAJOR 0
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_VERSION_MINOR

      Packit 0af36a
      #define PSL_VERSION_MINOR 20
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_VERSION_NUMBER

      Packit 0af36a
      #define PSL_VERSION_NUMBER 0x001402
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_VERSION_PATCH

      Packit 0af36a
      #define PSL_VERSION_PATCH 2
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_TYPE_ICANN

      Packit 0af36a
      #define PSL_TYPE_ICANN        (1<<0)
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_TYPE_PRIVATE

      Packit 0af36a
      #define PSL_TYPE_PRIVATE      (1<<1)
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_TYPE_NO_STAR_RULE

      Packit 0af36a
      #define PSL_TYPE_NO_STAR_RULE (1<<2)
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      PSL_TYPE_ANY

      Packit 0af36a
      #define PSL_TYPE_ANY          (PSL_TYPE_ICANN | PSL_TYPE_PRIVATE)
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      enum psl_error_t

      Packit 0af36a

      Return codes for PSL functions.

      Packit 0af36a
      Negative return codes mean failure.
      Packit 0af36a
      Positive values are reserved for non-error return codes.

      Packit 0af36a
      Packit 0af36a

      Members

      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_SUCCESS

      Packit 0af36a
      Packit 0af36a

      Successful return.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_ERR_INVALID_ARG

      Packit 0af36a
      Packit 0af36a

      Invalid argument.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_ERR_CONVERTER

      Packit 0af36a
      Packit 0af36a

      Failed to open libicu utf-16 converter.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_ERR_TO_UTF16

      Packit 0af36a
      Packit 0af36a

      Failed to convert to utf-16.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_ERR_TO_LOWER

      Packit 0af36a
      Packit 0af36a

      Failed to convert utf-16 to lowercase.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_ERR_TO_UTF8

      Packit 0af36a
      Packit 0af36a

      Failed to convert utf-16 to utf-8.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      PSL_ERR_NO_MEM

      Packit 0af36a
      Packit 0af36a

      Failed to allocate memory.

      Packit 0af36a
      Packit 0af36a
       
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Packit 0af36a
      Packit 0af36a

      psl_ctx_t

      Packit 0af36a
      typedef struct _psl_ctx_st psl_ctx_t;
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a
      Packit 0af36a

      Generated by GTK-Doc V1.28
      Packit 0af36a
      </body>
      Packit 0af36a
      </html>