Types (structs, unions and typedefs)
====================================
.. type:: urlparse_url

    
    :type:`urlparse_url` is a struct to store the result of parsing a
    URL.

    .. member::   uint16_t field_set

        :member:`field_set` is a bitmask of (1 << :type:`URLPARSE_*
        <urlparse_url_fields>`) values.
    .. member::   uint16_t port

        :member:`port` is the integer representation of
        :enum:`URLPARSE_PORT <urlparse_url_fields.URLPARSE_PORT>` string.
        It is assigned only when (:member:`field_set` & (1 <<
        :enum:`URLPARSE_PORT <urlparse_url_fields.URLPARSE_PORT>`)) is
        nonzero.
    .. member:: struct @struct_urlparse_field_data field_data[URLPARSE_MAX]

        :member:`field_data` stores the position and its length of each
        URL component if the corresponding bit is set in
        :member:`field_set`.  For example,
        field_data[:enum:`URLPARSE_HOST
        <urlparse_url_fields.URLPARSE_HOST>`] is assigned if
        (:member:`field_set` & (1 << :enum:`URLPARSE_HOST
        <urlparse_url_fields.URLPARSE_HOST>`)) is nonzero.

        .. member::     uint16_t off

            :member:`off` is an offset into buffer in which field starts.
        .. member::     uint16_t len

            :member:`len` is a length of run in buffer.