Ada 2.7.7
Fast spec-compliant URL parser
Loading...
Searching...
No Matches
ada_c.h File Reference

Includes the C definitions for Ada. This is a C file, not C++. More...

#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>

Go to the source code of this file.

Classes

struct  ada_string
 
struct  ada_owned_string
 
struct  ada_url_components
 
struct  ada_string_pair
 

Macros

#define ada_url_omitted   0xffffffff
 

Typedefs

typedef void * ada_url
 
typedef void * ada_url_search_params
 
typedef void * ada_strings
 
typedef void * ada_url_search_params_keys_iter
 
typedef void * ada_url_search_params_values_iter
 
typedef void * ada_url_search_params_entries_iter
 

Functions

ada_url ada_parse (const char *input, size_t length)
 
ada_url ada_parse_with_base (const char *input, size_t input_length, const char *base, size_t base_length)
 
bool ada_can_parse (const char *input, size_t length)
 
bool ada_can_parse_with_base (const char *input, size_t input_length, const char *base, size_t base_length)
 
void ada_free (ada_url result)
 
void ada_free_owned_string (ada_owned_string owned)
 
ada_url ada_copy (ada_url input)
 
bool ada_is_valid (ada_url result)
 
ada_owned_string ada_get_origin (ada_url result)
 
ada_string ada_get_href (ada_url result)
 
ada_string ada_get_username (ada_url result)
 
ada_string ada_get_password (ada_url result)
 
ada_string ada_get_port (ada_url result)
 
ada_string ada_get_hash (ada_url result)
 
ada_string ada_get_host (ada_url result)
 
ada_string ada_get_hostname (ada_url result)
 
ada_string ada_get_pathname (ada_url result)
 
ada_string ada_get_search (ada_url result)
 
ada_string ada_get_protocol (ada_url result)
 
uint8_t ada_get_host_type (ada_url result)
 
uint8_t ada_get_scheme_type (ada_url result)
 
bool ada_set_href (ada_url result, const char *input, size_t length)
 
bool ada_set_host (ada_url result, const char *input, size_t length)
 
bool ada_set_hostname (ada_url result, const char *input, size_t length)
 
bool ada_set_protocol (ada_url result, const char *input, size_t length)
 
bool ada_set_username (ada_url result, const char *input, size_t length)
 
bool ada_set_password (ada_url result, const char *input, size_t length)
 
bool ada_set_port (ada_url result, const char *input, size_t length)
 
bool ada_set_pathname (ada_url result, const char *input, size_t length)
 
void ada_set_search (ada_url result, const char *input, size_t length)
 
void ada_set_hash (ada_url result, const char *input, size_t length)
 
void ada_clear_port (ada_url result)
 
void ada_clear_hash (ada_url result)
 
void ada_clear_search (ada_url result)
 
bool ada_has_credentials (ada_url result)
 
bool ada_has_empty_hostname (ada_url result)
 
bool ada_has_hostname (ada_url result)
 
bool ada_has_non_empty_username (ada_url result)
 
bool ada_has_non_empty_password (ada_url result)
 
bool ada_has_port (ada_url result)
 
bool ada_has_password (ada_url result)
 
bool ada_has_hash (ada_url result)
 
bool ada_has_search (ada_url result)
 
const ada_url_componentsada_get_components (ada_url result)
 
ada_owned_string ada_idna_to_unicode (const char *input, size_t length)
 
ada_owned_string ada_idna_to_ascii (const char *input, size_t length)
 
ada_url_search_params ada_parse_search_params (const char *input, size_t length)
 
void ada_free_search_params (ada_url_search_params result)
 
size_t ada_search_params_size (ada_url_search_params result)
 
void ada_search_params_sort (ada_url_search_params result)
 
ada_owned_string ada_search_params_to_string (ada_url_search_params result)
 
void ada_search_params_append (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
void ada_search_params_set (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
void ada_search_params_remove (ada_url_search_params result, const char *key, size_t key_length)
 
void ada_search_params_remove_value (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
bool ada_search_params_has (ada_url_search_params result, const char *key, size_t key_length)
 
bool ada_search_params_has_value (ada_url_search_params result, const char *key, size_t key_length, const char *value, size_t value_length)
 
ada_string ada_search_params_get (ada_url_search_params result, const char *key, size_t key_length)
 
ada_strings ada_search_params_get_all (ada_url_search_params result, const char *key, size_t key_length)
 
ada_url_search_params_keys_iter ada_search_params_get_keys (ada_url_search_params result)
 
ada_url_search_params_values_iter ada_search_params_get_values (ada_url_search_params result)
 
ada_url_search_params_entries_iter ada_search_params_get_entries (ada_url_search_params result)
 
void ada_free_strings (ada_strings result)
 
size_t ada_strings_size (ada_strings result)
 
ada_string ada_strings_get (ada_strings result, size_t index)
 
void ada_free_search_params_keys_iter (ada_url_search_params_keys_iter result)
 
ada_string ada_search_params_keys_iter_next (ada_url_search_params_keys_iter result)
 
bool ada_search_params_keys_iter_has_next (ada_url_search_params_keys_iter result)
 
void ada_free_search_params_values_iter (ada_url_search_params_values_iter result)
 
ada_string ada_search_params_values_iter_next (ada_url_search_params_values_iter result)
 
bool ada_search_params_values_iter_has_next (ada_url_search_params_values_iter result)
 
void ada_free_search_params_entries_iter (ada_url_search_params_entries_iter result)
 
ada_string_pair ada_search_params_entries_iter_next (ada_url_search_params_entries_iter result)
 
bool ada_search_params_entries_iter_has_next (ada_url_search_params_entries_iter result)
 

Detailed Description

Includes the C definitions for Ada. This is a C file, not C++.

Definition in file ada_c.h.

Macro Definition Documentation

◆ ada_url_omitted

#define ada_url_omitted   0xffffffff

Definition at line 14 of file ada_c.h.

Typedef Documentation

◆ ada_strings

typedef void* ada_strings

Definition at line 116 of file ada_c.h.

◆ ada_url

typedef void* ada_url

Definition at line 39 of file ada_c.h.

◆ ada_url_search_params

typedef void* ada_url_search_params

Definition at line 113 of file ada_c.h.

◆ ada_url_search_params_entries_iter

Definition at line 125 of file ada_c.h.

◆ ada_url_search_params_keys_iter

Definition at line 117 of file ada_c.h.

◆ ada_url_search_params_values_iter

Definition at line 118 of file ada_c.h.

Function Documentation

◆ ada_can_parse()

bool ada_can_parse ( const char * input,
size_t length )
noexcept

Definition at line 85 of file ada_c.cpp.

References ada::can_parse().

◆ ada_can_parse_with_base()

bool ada_can_parse_with_base ( const char * input,
size_t input_length,
const char * base,
size_t base_length )
noexcept

Definition at line 89 of file ada_c.cpp.

References ada::can_parse().

◆ ada_clear_hash()

void ada_clear_hash ( ada_url result)
noexcept

Removes the hash of the URL.

Despite ada_set_hash method, this function allows the complete removal of the hash attribute, even if it has a value of #.

Definition at line 349 of file ada_c.cpp.

References get_instance().

◆ ada_clear_port()

void ada_clear_port ( ada_url result)
noexcept

Definition at line 336 of file ada_c.cpp.

References get_instance().

◆ ada_clear_search()

void ada_clear_search ( ada_url result)
noexcept

Removes the search of the URL.

Despite ada_set_search method, this function allows the complete removal of the search attribute, even if it has a value of ?.

Definition at line 362 of file ada_c.cpp.

References get_instance().

◆ ada_copy()

ada_url ada_copy ( ada_url input)
noexcept

Definition at line 101 of file ada_c.cpp.

References get_instance(), and ada::parse().

◆ ada_free()

void ada_free ( ada_url result)
noexcept

Definition at line 95 of file ada_c.cpp.

◆ ada_free_owned_string()

void ada_free_owned_string ( ada_owned_string owned)
noexcept

Definition at line 127 of file ada_c.cpp.

References ada_owned_string::data.

◆ ada_free_search_params()

void ada_free_search_params ( ada_url_search_params result)

Definition at line 475 of file ada_c.cpp.

◆ ada_free_search_params_entries_iter()

void ada_free_search_params_entries_iter ( ada_url_search_params_entries_iter result)

Definition at line 719 of file ada_c.cpp.

◆ ada_free_search_params_keys_iter()

void ada_free_search_params_keys_iter ( ada_url_search_params_keys_iter result)

Definition at line 658 of file ada_c.cpp.

◆ ada_free_search_params_values_iter()

void ada_free_search_params_values_iter ( ada_url_search_params_values_iter result)

Definition at line 688 of file ada_c.cpp.

◆ ada_free_strings()

void ada_free_strings ( ada_strings result)

Definition at line 633 of file ada_c.cpp.

◆ ada_get_components()

const ada_url_components * ada_get_components ( ada_url result)
noexcept

Definition at line 442 of file ada_c.cpp.

References get_instance().

◆ ada_get_hash()

ada_string ada_get_hash ( ada_url result)
noexcept

Definition at line 169 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_host()

ada_string ada_get_host ( ada_url result)
noexcept

Definition at line 178 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_host_type()

uint8_t ada_get_host_type ( ada_url result)
noexcept

Definition at line 223 of file ada_c.cpp.

References get_instance().

◆ ada_get_hostname()

ada_string ada_get_hostname ( ada_url result)
noexcept

Definition at line 187 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_href()

ada_string ada_get_href ( ada_url result)
noexcept

Definition at line 133 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_origin()

ada_owned_string ada_get_origin ( ada_url result)
noexcept

Definition at line 112 of file ada_c.cpp.

References ada_owned_string::data, get_instance(), and ada_owned_string::length.

◆ ada_get_password()

ada_string ada_get_password ( ada_url result)
noexcept

Definition at line 151 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_pathname()

ada_string ada_get_pathname ( ada_url result)
noexcept

Definition at line 196 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_port()

ada_string ada_get_port ( ada_url result)
noexcept

Definition at line 160 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_protocol()

ada_string ada_get_protocol ( ada_url result)
noexcept

Definition at line 214 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_scheme_type()

uint8_t ada_get_scheme_type ( ada_url result)
noexcept

Definition at line 231 of file ada_c.cpp.

References get_instance().

◆ ada_get_search()

ada_string ada_get_search ( ada_url result)
noexcept

Definition at line 205 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_get_username()

ada_string ada_get_username ( ada_url result)
noexcept

Definition at line 142 of file ada_c.cpp.

References ada_string_create(), and get_instance().

◆ ada_has_credentials()

bool ada_has_credentials ( ada_url result)
noexcept

Definition at line 369 of file ada_c.cpp.

References get_instance().

◆ ada_has_empty_hostname()

bool ada_has_empty_hostname ( ada_url result)
noexcept

Definition at line 377 of file ada_c.cpp.

References get_instance().

◆ ada_has_hash()

bool ada_has_hash ( ada_url result)
noexcept

Definition at line 425 of file ada_c.cpp.

References get_instance().

◆ ada_has_hostname()

bool ada_has_hostname ( ada_url result)
noexcept

Definition at line 385 of file ada_c.cpp.

References get_instance().

◆ ada_has_non_empty_password()

bool ada_has_non_empty_password ( ada_url result)
noexcept

Definition at line 401 of file ada_c.cpp.

References get_instance().

◆ ada_has_non_empty_username()

bool ada_has_non_empty_username ( ada_url result)
noexcept

Definition at line 393 of file ada_c.cpp.

References get_instance().

◆ ada_has_password()

bool ada_has_password ( ada_url result)
noexcept

Definition at line 417 of file ada_c.cpp.

References get_instance().

◆ ada_has_port()

bool ada_has_port ( ada_url result)
noexcept

Definition at line 409 of file ada_c.cpp.

References get_instance().

◆ ada_has_search()

bool ada_has_search ( ada_url result)
noexcept

Definition at line 433 of file ada_c.cpp.

References get_instance().

◆ ada_idna_to_ascii()

ada_owned_string ada_idna_to_ascii ( const char * input,
size_t length )

Definition at line 460 of file ada_c.cpp.

References ada_owned_string::length, and ada::idna::to_ascii().

◆ ada_idna_to_unicode()

ada_owned_string ada_idna_to_unicode ( const char * input,
size_t length )

Definition at line 451 of file ada_c.cpp.

References ada_owned_string::length, and ada::idna::to_unicode().

◆ ada_is_valid()

bool ada_is_valid ( ada_url result)
noexcept

Definition at line 106 of file ada_c.cpp.

References get_instance().

◆ ada_parse()

ada_url ada_parse ( const char * input,
size_t length )
noexcept

Definition at line 67 of file ada_c.cpp.

References ada::parse().

◆ ada_parse_search_params()

ada_url_search_params ada_parse_search_params ( const char * input,
size_t length )

Definition at line 469 of file ada_c.cpp.

References ada::parse().

◆ ada_parse_with_base()

ada_url ada_parse_with_base ( const char * input,
size_t input_length,
const char * base,
size_t base_length )
noexcept

Definition at line 72 of file ada_c.cpp.

References ada::parse().

◆ ada_search_params_append()

void ada_search_params_append ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 510 of file ada_c.cpp.

◆ ada_search_params_entries_iter_has_next()

bool ada_search_params_entries_iter_has_next ( ada_url_search_params_entries_iter result)

Definition at line 740 of file ada_c.cpp.

◆ ada_search_params_entries_iter_next()

ada_string_pair ada_search_params_entries_iter_next ( ada_url_search_params_entries_iter result)

Definition at line 726 of file ada_c.cpp.

References ada_string_create().

◆ ada_search_params_get()

ada_string ada_search_params_get ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 574 of file ada_c.cpp.

References ada_string_create().

◆ ada_search_params_get_all()

ada_strings ada_search_params_get_all ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 588 of file ada_c.cpp.

◆ ada_search_params_get_entries()

ada_url_search_params_entries_iter ada_search_params_get_entries ( ada_url_search_params result)

Definition at line 622 of file ada_c.cpp.

References ada::parse().

◆ ada_search_params_get_keys()

ada_url_search_params_keys_iter ada_search_params_get_keys ( ada_url_search_params result)

Definition at line 600 of file ada_c.cpp.

References ada::parse().

◆ ada_search_params_get_values()

ada_url_search_params_values_iter ada_search_params_get_values ( ada_url_search_params result)

Definition at line 611 of file ada_c.cpp.

References ada::parse().

◆ ada_search_params_has()

bool ada_search_params_has ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 552 of file ada_c.cpp.

◆ ada_search_params_has_value()

bool ada_search_params_has_value ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 562 of file ada_c.cpp.

◆ ada_search_params_keys_iter_has_next()

bool ada_search_params_keys_iter_has_next ( ada_url_search_params_keys_iter result)

Definition at line 678 of file ada_c.cpp.

◆ ada_search_params_keys_iter_next()

ada_string ada_search_params_keys_iter_next ( ada_url_search_params_keys_iter result)

Definition at line 664 of file ada_c.cpp.

References ada_string_create().

◆ ada_search_params_remove()

void ada_search_params_remove ( ada_url_search_params result,
const char * key,
size_t key_length )

Definition at line 532 of file ada_c.cpp.

◆ ada_search_params_remove_value()

void ada_search_params_remove_value ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 541 of file ada_c.cpp.

◆ ada_search_params_set()

void ada_search_params_set ( ada_url_search_params result,
const char * key,
size_t key_length,
const char * value,
size_t value_length )

Definition at line 521 of file ada_c.cpp.

◆ ada_search_params_size()

size_t ada_search_params_size ( ada_url_search_params result)

Definition at line 493 of file ada_c.cpp.

◆ ada_search_params_sort()

void ada_search_params_sort ( ada_url_search_params result)

Definition at line 502 of file ada_c.cpp.

◆ ada_search_params_to_string()

ada_owned_string ada_search_params_to_string ( ada_url_search_params result)

Definition at line 481 of file ada_c.cpp.

References ada_owned_string::length.

◆ ada_search_params_values_iter_has_next()

bool ada_search_params_values_iter_has_next ( ada_url_search_params_values_iter result)

Definition at line 709 of file ada_c.cpp.

◆ ada_search_params_values_iter_next()

ada_string ada_search_params_values_iter_next ( ada_url_search_params_values_iter result)

Definition at line 695 of file ada_c.cpp.

References ada_string_create().

◆ ada_set_hash()

void ada_set_hash ( ada_url result,
const char * input,
size_t length )
noexcept

Update the hash/fragment of the URL.

If a URL has # as the hash value, passing empty string to this function does not remove the attribute. If you need to remove it, please use ada_clear_hash method.

Definition at line 329 of file ada_c.cpp.

References get_instance().

◆ ada_set_host()

bool ada_set_host ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 247 of file ada_c.cpp.

References get_instance().

◆ ada_set_hostname()

bool ada_set_hostname ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 255 of file ada_c.cpp.

References get_instance().

◆ ada_set_href()

bool ada_set_href ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 239 of file ada_c.cpp.

References get_instance().

◆ ada_set_password()

bool ada_set_password ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 282 of file ada_c.cpp.

References get_instance().

◆ ada_set_pathname()

bool ada_set_pathname ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 299 of file ada_c.cpp.

References get_instance().

◆ ada_set_port()

bool ada_set_port ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 291 of file ada_c.cpp.

References get_instance().

◆ ada_set_protocol()

bool ada_set_protocol ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 264 of file ada_c.cpp.

References get_instance().

◆ ada_set_search()

void ada_set_search ( ada_url result,
const char * input,
size_t length )
noexcept

Update the search/query of the URL.

If a URL has ? as the search value, passing empty string to this function does not remove the attribute. If you need to remove it, please use ada_clear_search method.

Definition at line 315 of file ada_c.cpp.

References get_instance().

◆ ada_set_username()

bool ada_set_username ( ada_url result,
const char * input,
size_t length )
noexcept

Definition at line 273 of file ada_c.cpp.

References get_instance().

◆ ada_strings_get()

ada_string ada_strings_get ( ada_strings result,
size_t index )

Definition at line 648 of file ada_c.cpp.

References ada_string_create().

◆ ada_strings_size()

size_t ada_strings_size ( ada_strings result)

Definition at line 639 of file ada_c.cpp.