Macros | |
| #define | GETDNS_LOG_EMERG_TEXT "System is unusable" |
| #define | GETDNS_LOG_ALERT_TEXT "Action must be taken immediately" |
| #define | GETDNS_LOG_CRIT_TEXT "Critical conditions" |
| #define | GETDNS_LOG_ERR_TEXT "Error conditions" |
| #define | GETDNS_LOG_WARNING_TEXT "Warning conditions" |
| #define | GETDNS_LOG_NOTICE_TEXT "Normal, but significant, condition" |
| #define | GETDNS_LOG_INFO_TEXT "Informational message" |
| #define | GETDNS_LOG_DEBUG_TEXT "Debug-level message" |
| #define | GETDNS_LOG_UPSTREAM_STATS 4096 |
| #define | GETDNS_LOG_UPSTREAM_STATS_TEXT "Log messages about upstream statistics" |
Typedefs | |
| typedef enum getdns_loglevel_type | getdns_loglevel_type |
| typedef void(* | getdns_logfunc_type) (void *userarg, uint64_t log_systems, getdns_loglevel_type, const char *, va_list ap) |
Enumerations | |
| enum | getdns_loglevel_type { GETDNS_LOG_EMERG = 0, GETDNS_LOG_ALERT = 1, GETDNS_LOG_CRIT = 2, GETDNS_LOG_ERR = 3, GETDNS_LOG_WARNING = 4, GETDNS_LOG_NOTICE = 5, GETDNS_LOG_INFO = 6, GETDNS_LOG_DEBUG = 7 } |
Detailed Description
Macro Definition Documentation
◆ GETDNS_LOG_EMERG_TEXT
| #define GETDNS_LOG_EMERG_TEXT "System is unusable" |
Definition at line 520 of file getdns_extra.h.
◆ GETDNS_LOG_ALERT_TEXT
| #define GETDNS_LOG_ALERT_TEXT "Action must be taken immediately" |
Definition at line 521 of file getdns_extra.h.
◆ GETDNS_LOG_CRIT_TEXT
| #define GETDNS_LOG_CRIT_TEXT "Critical conditions" |
Definition at line 522 of file getdns_extra.h.
◆ GETDNS_LOG_ERR_TEXT
| #define GETDNS_LOG_ERR_TEXT "Error conditions" |
Definition at line 523 of file getdns_extra.h.
◆ GETDNS_LOG_WARNING_TEXT
| #define GETDNS_LOG_WARNING_TEXT "Warning conditions" |
Definition at line 524 of file getdns_extra.h.
◆ GETDNS_LOG_NOTICE_TEXT
| #define GETDNS_LOG_NOTICE_TEXT "Normal, but significant, condition" |
Definition at line 525 of file getdns_extra.h.
◆ GETDNS_LOG_INFO_TEXT
| #define GETDNS_LOG_INFO_TEXT "Informational message" |
Definition at line 526 of file getdns_extra.h.
◆ GETDNS_LOG_DEBUG_TEXT
| #define GETDNS_LOG_DEBUG_TEXT "Debug-level message" |
Definition at line 527 of file getdns_extra.h.
◆ GETDNS_LOG_UPSTREAM_STATS
| #define GETDNS_LOG_UPSTREAM_STATS 4096 |
Definition at line 529 of file getdns_extra.h.
◆ GETDNS_LOG_UPSTREAM_STATS_TEXT
| #define GETDNS_LOG_UPSTREAM_STATS_TEXT "Log messages about upstream statistics" |
Definition at line 530 of file getdns_extra.h.
Typedef Documentation
◆ getdns_loglevel_type
| typedef enum getdns_loglevel_type getdns_loglevel_type |
◆ getdns_logfunc_type
| typedef void(* getdns_logfunc_type) (void *userarg, uint64_t log_systems, getdns_loglevel_type, const char *, va_list ap) |
Definition at line 532 of file getdns_extra.h.
Enumeration Type Documentation
◆ getdns_loglevel_type
| enum getdns_loglevel_type |
| Enumerator | |
|---|---|
| GETDNS_LOG_EMERG | |
| GETDNS_LOG_ALERT | |
| GETDNS_LOG_CRIT | |
| GETDNS_LOG_ERR | |
| GETDNS_LOG_WARNING | |
| GETDNS_LOG_NOTICE | |
| GETDNS_LOG_INFO | |
| GETDNS_LOG_DEBUG |
Definition at line 509 of file getdns_extra.h.
Function Documentation
◆ getdns_context_create()
| getdns_return_t getdns_context_create | ( | getdns_context ** | context, |
| int | set_from_os | ||
| ) |
creates a new getdns context with default settings. If used multi-threaded, user must define appropriate OpenSSL callback locking functions (e.g. CRYPTO_THREADID_set_call) depending on the library version used.
- Parameters
-
context context that can be used immediately with other API calls set_from_os set to 1 to initialize the context with os defaults
- Returns
- GETDNS_RETURN_GOOD on success
◆ getdns_context_create_with_memory_functions()
| getdns_return_t getdns_context_create_with_memory_functions | ( | getdns_context ** | context, |
| int | set_from_os, | ||
| void *(*)(size_t) | malloc, | ||
| void *(*)(void *, size_t) | realloc, | ||
| void(*)(void *) | free | ||
| ) |
creates a new getdns context with default settings using custom memory functions. If used multi-threaded, user must define appropriate OpenSSL callback locking functions (e.g. CRYPTO_THREADID_set_call) depending on the library version used.
- Parameters
-
context context that can be used immediately with other API calls set_from_os set to 1 to initialize the context with os defaults malloc custom malloc function realloc custom realloc function free custom free function
- Returns
- GETDNS_RETURN_GOOD on success
◆ getdns_context_create_with_extended_memory_functions()
| getdns_return_t getdns_context_create_with_extended_memory_functions | ( | getdns_context ** | context, |
| int | set_from_os, | ||
| void * | userarg, | ||
| void *(*)(void *userarg, size_t) | malloc, | ||
| void *(*)(void *userarg, void *, size_t) | realloc, | ||
| void(*)(void *userarg, void *) | free | ||
| ) |
creates a new getdns context with default settings using extended custom memory functions. If used multi-threaded, user must define appropriate OpenSSL callback locking functions (e.g. CRYPTO_THREADID_set_call) depending on the library version used.
- Parameters
-
context context that can be used immediately with other API calls set_from_os set to 1 to initialize the context with os defaults userarg parameter passed to the custom malloc, realloc and free functions malloc custom malloc function realloc custom realloc function free custom free function
- Returns
- GETDNS_RETURN_GOOD on success
◆ getdns_context_destroy()
| void getdns_context_destroy | ( | getdns_context * | context | ) |
destroy the context. All outstanding requests will be cancelled with the getdns_cancel_callback() function.
◆ getdns_context_set_context_update_callback()
| getdns_return_t getdns_context_set_context_update_callback | ( | getdns_context * | context, |
| void(*)(getdns_context *context, getdns_context_code_t changed_item) | value | ||
| ) |
An application can be notified when the context is changed. Note that this implementation has an extended version of this function in which an additional userarg parameter can be registered: getdns_context_set_update_callback .
- See also
- Context code values and texts
- Parameters
-
context The context for which to monitor changes value The callback function that will be called when any context is changed. A update callback function can be deregistered by passing NULL.
- Returns
- GETDNS_RETURN_GOOD when succesful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_resolution_type()
| getdns_return_t getdns_context_set_resolution_type | ( | getdns_context * | context, |
| getdns_resolution_t | value | ||
| ) |
Specify whether DNS queries are performed with recursive lookups or as a stub resolver. The default value is GETDNS_RESOLUTION_RECURSING.
- Parameters
-
context The context to configure value GETDNS_RESOLUTION_RECURSING or GETDNS_RESOLUTION_STUB.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_CONTEXT_UPDATE_FAIL with unknown resolution types
- GETDNS_RETURN_NOT_IMPLEMENTED when getdns was compiled for stub resolution only and recursing resolution type was requested.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_namespaces()
| getdns_return_t getdns_context_set_namespaces | ( | getdns_context * | context, |
| size_t | namespace_count, | ||
| getdns_namespace_t * | namespaces | ||
| ) |
Sets the ordered list of namespaces that will be queried. This context setting is ignored for the getdns_general and getdns_general_sync functions; it is used for the other funtions. When a normal lookup is done, the API does the lookups in the order given and stops when it gets the first result
- Parameters
-
context The context to configure namespace_count The number of values in the namespaces list. namespaces An ordered list of namespaces that will be queried. The values are: GETDNS_NAMESPACE_DNS, GETDNS_NAMESPACE_LOCALNAMES, GETDNS_NAMESPACE_NETBIOS, GETDNS_NAMESPACE_MDNS, and GETDNS_NAMESPACE_NIS.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_CONTEXT_UPDATE_FAIL with unknown namespace types
- GETDNS_RETURN_NOT_IMPLEMENTED when unsupported namespaces were given. Currently this implementation supports only GETDNS_NAMESPACE_DNS, GETDNS_NAMESPACE_LOCALNAMES and has an draft implementation of GETDNS_NAMESPACE_MDNS, which has to be enabled at configure time.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_dns_transport()
| getdns_return_t getdns_context_set_dns_transport | ( | getdns_context * | context, |
| getdns_transport_t | value | ||
| ) |
Specifies what transport are used for DNS lookups. The default is GETDNS_TRANSPORT_UDP_FIRST_AND_FALL_BACK_TO_TCP. Use of this function is discouraged. Please use getdns_context_set_dns_transport_list() instead of this function.
- See also
- getdns_context_get_dns_transport
- Transport arrangements and texts
- getdns_context_set_dns_transport_list
- Parameters
-
context The context to configure value The transport to use for DNS lookups. The value is GETDNS_TRANSPORT_UDP_FIRST_AND_FALL_BACK_TO_TCP, GETDNS_TRANSPORT_UDP_ONLY, GETDNS_TRANSPORT_TCP_ONLY, GETDNS_TRANSPORT_TCP_ONLY_KEEP_CONNECTIONS_OPEN, GETDNS_TRANSPORT_TLS_ONLY_KEEP_CONNECTIONS_OPEN or GETDNS_TRANSPORT_TLS_FIRST_AND_FALL_BACK_TO_TCP_KEEP_CONNECTIONS_OPEN.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_CONTEXT_UPDATE_FAIL with unknown values
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_dns_transport_list()
| getdns_return_t getdns_context_set_dns_transport_list | ( | getdns_context * | context, |
| size_t | transport_count, | ||
| getdns_transport_list_t * | transports | ||
| ) |
Specifies what transport is used for DNS lookups. The default is a list containing GETDNS_TRANSPORT_UDP then GETDNS_TRANSPORT_TCP. The API will return information on the actual transport used to fulfill the request in the response dict, when the return_call_reporting extension is used.
- See also
- getdns_context_get_dns_transport_list
- Transport list values and tests
- getdns_context_set_dns_transport
- Parameters
-
context The context to configure transport_count The number of values in the transports list. transports An ordered list of transports that will be used for DNS lookups. If only one transport value is specified it will be the only transport used. Should it not be available basic resolution will fail. Fallback transport options are specified by including multiple values in the list. The values are: GETDNS_TRANSPORT_UDP, GETDNS_TRANSPORT_TCP, or GETDNS_TRANSPORT_TLS
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_CONTEXT_UPDATE_FAIL with unknown values
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_idle_timeout()
| getdns_return_t getdns_context_set_idle_timeout | ( | getdns_context * | context, |
| uint64_t | timeout | ||
| ) |
Specify number of milliseconds the API will leave an idle TCP or TLS connection open for (idle means no outstanding responses and no pending queries). When set to 0, all currently open idle connections will be closed immediately. The default is 0. Note with synchronous queries, idle connections can not reliably be timed. Each new synchronous request, will reset the counter no matter the time in between requests, and thus leave the connection open always. This setting is thus only meaningful when doing requests asynchronously.
- See also
- getdns_context_get_idle_timeout
- Parameters
-
context The context to configure timeout The number of milliseconds the API will leave an idle TCP or TLS connection open for
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_limit_outstanding_queries()
| getdns_return_t getdns_context_set_limit_outstanding_queries | ( | getdns_context * | context, |
| uint16_t | limit | ||
| ) |
Limit the number of outstanding DNS queries. When more than limit requests are scheduled, they are kept on an internal queue, to be rescheduled when the number of outstanding queries drops below the limit again. A value of 0 indicates that the number of outstanding DNS queries is unlimited, however, queries will be put on the internal queue too when system resources are exhausted (i.e. number of available sockets). The default value is 0.
- Parameters
-
context The context to configure limit The maximum number of outstanding DNS queries.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_timeout()
| getdns_return_t getdns_context_set_timeout | ( | getdns_context * | context, |
| uint64_t | timeout | ||
| ) |
Specifies number of milliseconds the API will wait for request to return. The default is 5000 (i.e. 5 seconds).
- See also
- getdns_context_get_timeout
- Parameters
-
context The context to configure timeout The number of milliseconds the API will wait for request to return.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER for a timeout 0, or when context was NULL
◆ getdns_context_set_follow_redirects()
| getdns_return_t getdns_context_set_follow_redirects | ( | getdns_context * | context, |
| getdns_redirects_t | value | ||
| ) |
Specifies whether or not DNS queries follow redirects. The default value is GETDNS_REDIRECTS_FOLLOW. In this implementation, redirects are only actively followed in the recursing resolution mode. The GETDNS_REDIRECTS_DO_NOT_FOLLOW will not prevent this, but the response will be stripped of all resource records that could only be found through following redirects. The setting will do this with answers provided by an upstream in stub resolution mode too.
- Parameters
-
context The context to configure value GETDNS_REDIRECTS_FOLLOW for normal following of redirects through CNAME and DNAME; or GETDNS_REDIRECTS_DO_NOT_FOLLOW to cause any lookups that would have gone through CNAME and DNAME to return the CNAME or DNAME, not the eventual target.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER for an unknown value, or when context was NULL
◆ getdns_context_set_dns_root_servers()
| getdns_return_t getdns_context_set_dns_root_servers | ( | getdns_context * | context, |
| getdns_list * | addresses | ||
| ) |
Configure the list of addresses to be used for looking up top-level domains. The default is the list of "normal" IANA root servers
- Parameters
-
context The context to configure addresses The list contains dicts that are addresses to be used for looking up top-level domains. Each dict in the list contains at least two names: address_type (whose value is a bindata; it is currently either "IPv4" or "IPv6") and address_data (whose value is a bindata). This implementation also accepts a list of addressxi bindatas. Or a list of rr_dicts for address records (i.e. the additional section of a NS query for ".", or a with getdns_fp2rr_list() converted root.hints file).
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_ CONTEXT_UPDATE_FAIL when there were problems parsing the provided addresses list.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_append_name()
| getdns_return_t getdns_context_set_append_name | ( | getdns_context * | context, |
| getdns_append_name_t | value | ||
| ) |
Specifies whether, how and when to append a suffix to the query string. The non-standard implementation default is GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST.
- Parameters
-
context The context to configure value GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST, GETDNS_APPEND_NAME_ALWAYS, GETDNS_APPEND_NAME_ONLY_TO_SINGLE_LABEL_AFTER_FAILURE, GETDNS_APPEND_NAME_ONLY_TO_MULTIPLE_LABEL_NAME_AFTER_FAILURE, or GETDNS_APPEND_NAME_NEVER.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_ CONTEXT_UPDATE_FAIL with unknown values.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_suffix()
| getdns_return_t getdns_context_set_suffix | ( | getdns_context * | context, |
| getdns_list * | value | ||
| ) |
Specify the list of suffixes to be appended based on the value off the append_name setting. The default is read from OS, or an empty list when the context is not initialized with OS defaults.
- See also
- getdns_context_get_suffix
- Parameters
-
context The context to configure value A list of bindatas that are strings that are to be appended based on the value off the append_name setting.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_ CONTEXT_UPDATE_FAIL with unknown values.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_dnssec_trust_anchors()
| getdns_return_t getdns_context_set_dnssec_trust_anchors | ( | getdns_context * | context, |
| getdns_list * | value | ||
| ) |
Specify the DNSSEC trust anchors. The default is to read it from /etc/unbound/getdns-root.key.
- Parameters
-
context The context to configure value A list of rr_dicts for DS or DNSKEY that are the DNSSEC trust anchors.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_ CONTEXT_UPDATE_FAIL with unknown values.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_dnssec_allowed_skew()
| getdns_return_t getdns_context_set_dnssec_allowed_skew | ( | getdns_context * | context, |
| uint32_t | value | ||
| ) |
Specify the DNSSEC allowed skew. The default is 0.
- Parameters
-
context The context to configure value The number of seconds of skew that is allowed in either direction when checking an RRSIG's Expiration and Inception fields.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_upstream_recursive_servers()
| getdns_return_t getdns_context_set_upstream_recursive_servers | ( | getdns_context * | context, |
| getdns_list * | upstream_list | ||
| ) |
Specify where a stub resolver will send queries. The default value is set from the OS when the context is created with the set_from_os flag, or empty otherwise.
- Parameters
-
context The context to configure upstream_list The upstreams are specified either by a getdns_bindata containing a IPv4 or IPv6 address in network format or a getdns_dict
, containing at least a nameaddress_data
whose value is the address bindata, and optionally also:scode_id
containing an getdns_bindata with the scope ID for IPv6 link-local addresses.port
an integer specifying which port to use to contact this upstream over UDP and TCP; the default is 53tsig_algorithm
(a bindata) that is the name of the TSIG hash algorithmtsig_name
(a bindata) that is the name of the TSIG keytsig_secret
(a bindata) that is the TSIG keytls_port
(a integer) that is the port to use to contact this upstream over TLStls_auth_name
(a bindata) that is the name of the upstream (as a bindata containing a string) which must be verified to confirm its identity.tls_pubkey_pinset
(a list) containing dicts withdigest
which must be a bindata containing the text sha256value
A SHA256 hash of theSubjectPublicKeyInfo
of the upstream, which will be used to authenticate it.
- Returns
- GETDNS_RETURN_GOOD when successful.
-
GETDNS_RETURN_INVALID_PARAMETER when
context
orupstream_list
wasNULL
-
GETDNS_RETURN_CONTEXT_UPDATE_FAIL when there were problems parsing the
upstream_list
.
◆ getdns_context_set_edns_maximum_udp_payload_size()
| getdns_return_t getdns_context_set_edns_maximum_udp_payload_size | ( | getdns_context * | context, |
| uint16_t | value | ||
| ) |
Set the maximum UDP payload size advertised in a EDNS0 OPT record. When not set (the default), outgoing values will adhere to the suggestions in RFC 6891 and may follow a scheme that uses multiple values to maximize receptivity.
- See also
- getdns_context_get_edns_maximum_udp_payload_size
- getdns_context_unset_edns_maximum_udp_payload_size
- Parameters
-
context The context to configure value The maximum UDP payload size advertised in a EDNS0 OPT record. The value must be between 512 and 65536
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_edns_extended_rcode()
| getdns_return_t getdns_context_set_edns_extended_rcode | ( | getdns_context * | context, |
| uint8_t | value | ||
| ) |
Set the rcode advertised in a EDNS0 OPT record. The default is 0.
- Parameters
-
context The context to configure value A value between 0 and 255.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_edns_version()
| getdns_return_t getdns_context_set_edns_version | ( | getdns_context * | context, |
| uint8_t | value | ||
| ) |
Set the version advertised in a EDNS0 OPT record. The default is 0.
- See also
- getdns_context_get_edns_version
- Parameters
-
context The context to configure value A value between 0 and 255.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_edns_do_bit()
| getdns_return_t getdns_context_set_edns_do_bit | ( | getdns_context * | context, |
| uint8_t | value | ||
| ) |
Set the DO ibit advertised in a EDNS0 OPT record. The default is 0. However use of any of the dnssec_* extension will override this setting and set the DO bit.
- See also
- getdns_context_get_edns_do_bit
- Parameters
-
context The context to configure value A value between 0 and 1.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_memory_functions()
| getdns_return_t getdns_context_set_memory_functions | ( | getdns_context * | context, |
| void *(*)(size_t) | malloc, | ||
| void *(*)(void *, size_t) | realloc, | ||
| void(*)(void *) | free | ||
| ) |
Specify custom memory management functions to be used with this context. The given memory management functions will be used for creating the response dicts. The response dicts inherit the custom memory management functions from the context and will deallocate themselves (and their members) with the custom deallocator. By default, the system malloc
, realloc
, and free
are used.
- Parameters
-
context The context to configure malloc A custom memory allocator. The default is malloc
.realloc A custom memory reallocator. The default is realloc
.free A custom memory deallocator. The default is free
.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_extended_memory_functions()
| getdns_return_t getdns_context_set_extended_memory_functions | ( | getdns_context * | context, |
| void * | userarg, | ||
| void *(*)(void *userarg, size_t sz) | malloc, | ||
| void *(*)(void *userarg, void *ptr, size_t sz) | realloc, | ||
| void(*)(void *userarg, void *ptr) | free | ||
| ) |
Specify custom extended memory management functions to be used with this context. The value of userarg
argument will be passed to the custom malloc
, realloc
, and free
. The response dicts inherit the custom memory management functions from the context and will deallocate themselves (and their members) with the custom deallocator. By default, the system malloc
, realloc
, and free
are used.
- Parameters
-
context The context to configure userarg This value will be passed as the userarg
argument to the custommalloc
,realloc
andfree
function.malloc A custom memory allocator. The default is a wrapper for malloc
.realloc A custom memory reallocator. The default is a wrapper for realloc
.free A custom memory deallocator. The default is a wrapper for free
.
- Returns
- GETDNS_RETURN_GOOD when successful.
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL
◆ getdns_context_set_update_callback()
| getdns_return_t getdns_context_set_update_callback | ( | getdns_context * | context, |
| void * | userarg, | ||
| void(*)(getdns_context *, getdns_context_code_t, void *) | value | ||
| ) |
Register a callback function for context changes.
- Parameters
-
context The context to monitor for changes userarg A user defined argument that will be passed to the callback function. value The callback function that will be called when a context value is changed. The arguments to the callback function are the context for which the value changes, a code referencing the changed value and the userarg parameter supplied during callback registration.
- Returns
- GETDNS_RETURN_GOOD on success or an error code on failure.
◆ getdns_context_set_return_dnssec_status()
| getdns_return_t getdns_context_set_return_dnssec_status | ( | getdns_context * | context, |
| int | enabled | ||
| ) |
Enable the return_dnssec_status extension on every request.
- Parameters
-
context The context to configure enabled is either GETDNS_EXTENSION_TRUE or GETDNS_EXTENSION_FALSE
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context or value is invalid
◆ getdns_context_set_tls_authentication()
| getdns_return_t getdns_context_set_tls_authentication | ( | getdns_context * | context, |
| getdns_tls_authentication_t | value | ||
| ) |
Configure context for oppertunistic or scrict usage profile with DNS over TLS.
- Parameters
-
context The context to configure value is either GETDNS_AUTHENTICATION_REQUIRED for the strict usage profile or GETDNS_AUTHENTICATION_NONE for opportunistic profile. See getdns_context_set_upstream_recursive_servers for details on how to configure credentials per upstream.
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null or value has an invalid value.
◆ getdns_context_set_round_robin_upstreams()
| getdns_return_t getdns_context_set_round_robin_upstreams | ( | getdns_context * | context, |
| uint8_t | value | ||
| ) |
Configure context to round robin queries over the available upstreams when resolving with the stub resolution type.
- Parameters
-
context The context to configure value is either 1 to enable and 0 to disable round robin.
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null or value has an invalid value.
◆ getdns_context_set_tls_backoff_time()
| getdns_return_t getdns_context_set_tls_backoff_time | ( | getdns_context * | context, |
| uint16_t | value | ||
| ) |
Configure the amount of seconds a TLS connection should not be tried with an upstream when it has never been tried before. Default is 3600 which is one hour.
- Parameters
-
context The context to configure value Number of seconds before an attempt to setup DNS over TLS, with an upstream for which setting up an TLS connection has never been successful before, will be retried.
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null.
◆ getdns_context_set_tls_connection_retries()
| getdns_return_t getdns_context_set_tls_connection_retries | ( | getdns_context * | context, |
| uint16_t | value | ||
| ) |
Configure the number of times getdns retries to setup DNS over TLS with a specific upstream, before it decides to give up for tls_backoff_time seconds. The default is 2.
- Parameters
-
context The context to configure value Number of attempts to retry setting up a DNS over TLS connection before giving up.
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null.
◆ getdns_context_set_edns_client_subnet_private()
| getdns_return_t getdns_context_set_edns_client_subnet_private | ( | getdns_context * | context, |
| uint8_t | value | ||
| ) |
Configure context to sent queries with the EDNS Client Subnet option set to hide the originating network when resolving in stub resolution. The default is 0 (disabled).
- Parameters
-
context The context to configure value is either 1 to enable and 0 to disable.
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null or value has an invalid value.
◆ getdns_context_set_tls_query_padding_blocksize()
| getdns_return_t getdns_context_set_tls_query_padding_blocksize | ( | getdns_context * | context, |
| uint16_t | value | ||
| ) |
Configure context to pad each outgoing query over TLS to a multiple of the requested blocksizes. A value of 0 means disable, and a value of 1 means to "pad using a sensible policy". The default is 1 (pad using sensible policy).
- Parameters
-
context The context to configure value The requested block size to pad to, or 0 to disable, or 1 to indicate that the library should use a sinsible policy. Currently that just means to pad to a multiple of 128 octets for outgoing queries, but this might change in the future.
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null or value has an invalid value.
◆ getdns_context_unset_edns_maximum_udp_payload_size()
| getdns_return_t getdns_context_unset_edns_maximum_udp_payload_size | ( | getdns_context * | context | ) |
Configure context to advertise maximum UDP payload size values, that adhere to the suggestions in RFC 6891 and may follow a scheme that uses multiple values to maximize receptivity. In practice with our implementation this means 1432 for IPv4 upstreams and 1232 for IPv6 upstreams. The default is to have the edns maximum UDP payload size to be unset and thus use the adaptive scheme.
- See also
- getdns_context_set_edns_maximum_udp_payload_size
- getdns_context_get_edns_maximum_udp_payload_size
- Parameters
-
context The context to configure
- Returns
- GETDNS_RETURN_GOOD on success
- GETDNS_RETURN_INVALID_PARAMETER if context is null.
◆ getdns_context_set_logfunc()
| getdns_return_t getdns_context_set_logfunc | ( | getdns_context * | context, |
| void * | userarg, | ||
| uint64_t | system, | ||
| getdns_loglevel_type | level, | ||
| getdns_logfunc_type | func | ||
| ) |
Register a function that will be called when there is something to log equally or more severe than the given level for the given system.
- Parameters
-
[in] context The context from which to get the setting [in] userarg A user defined argument to be passed to the log function. [in] system A bitwise ORed collection of systems for which the log function should be called. Currently only logging information about upstream statistics is available; i.e.: GETDNS_LOG_UPSTREAM_STATS [in] level A severity level. The log function will be called only for messages with an equal or more severe level. More severe has a lower value. [in] func The log function to call with the user argument, the system for which the log message, the severity level, a printf style format string and the arguments for the format string, as parameter.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_appdata_dir()
| getdns_return_t getdns_context_set_appdata_dir | ( | getdns_context * | context, |
| const char * | appdata_dir | ||
| ) |
Define the location for storing library specific data. The location should be writable for the current user using the application with which the library is linked. Currently this is only used for storing data concerning zero configuration dnssec.
- Parameters
-
[in] context The context from which to get the setting [in] appdata_dir A user writable location in which the library can store data. The last element of the path is tried to be created if it does not exist. When NULL is given, the default location is used which is ${HOME}/.getdns/ on Unix line systems (Linux, BSD's, MacOS), and AppData%\ on Windows.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_trust_anchors_url()
| getdns_return_t getdns_context_set_trust_anchors_url | ( | getdns_context * | context, |
| const char * | url | ||
| ) |
Sets the url for the location of the XML file from which to fetch the trust anchors with Zero configuration DNSSEC. The url should be for http, and the file should have the .xml extension.
Alongside the XML file, also the S/MIME signature that will be used to validate the XML file, will be fetched from the url with the .xml extension replaced by .p7s.
When successfully validated with the verify Certificate Authority and the verify email address, the context will be equipped with the DNSSEC trust anchors defined within the XML file as described in RFC7958. The XML file will also be stored together with the .p7s file in the appdata directory with the names "root-anchors.xml" and "root-anchors.p7s" respectively.
When the trust-anchors from the XML file are used, the root DNSKEY is tracked and stored in the appdata directory too as "root.key"
Trust anchors from the XML file will be tried when:
- There were no other trust anchors provided, either by the default trust anchor file "/etc/unbound/getdns-root.key", or set with the getdns_context_set_dnssec_trust_anchors() function.
- or the available trust anchors (from the default location or set by the application) caused the root DNSKEY rrset to be BOGUS.
Trust anchors from the XML file will be read from the root-anchors.xml file in appdata directory and will only be used when validation with the S/MIME signatures in root-anchors.p7s succeeds with the verification Certificate Authority and the verification email address.
A (new) version of "root-anchors.xml" and "root-anchors.p7s" will be fetched when:
- The appdata directory is writeable by the current used, but the "root-anchors.xml" or "root-anchors.p7s" files were not available.
- or there is a new root DNSKEY RRset (or signature) and it contains key_ids which were not in "root-anchors.xml."
- See also
- getdns_context_get_trust_anchors_url
- getdns_context_set_trust_anchors_verify_CA
- getdns_context_set_trust_anchors_verify_email
- Parameters
-
[in] context The context to configure [in] url The url including the XML file from which the trust anchors (and the S/MIME signature) will be fetched. Default is: http://data.iana.org/root-anchors/root-anchors.xml When NULL is given, the default will be used.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_trust_anchors_verify_CA()
| getdns_return_t getdns_context_set_trust_anchors_verify_CA | ( | getdns_context * | context, |
| const char * | verify_CA | ||
| ) |
Sets the public certificate for the Certificate Authority with which to validate the XML file with the S/MIME signatures fetch from the url given with the getdns_context_set_trust_anchors_url() function.
- See also
- getdns_context_get_trust_anchors_verify_CA
- getdns_context_set_trust_anchors_url
- getdns_context_set_trust_anchors_verify_email
- Parameters
-
[in] context The context to configure [in] verify_CA The certificate of the Certificate Authority with which to validate the XML trust anchors. The default is the ICANN Root CA, which is valid till Dec 18 2029. When NULL is given, the default will be used. When an empty string is given, Zero configuration DNSSEC will be disabled.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_set_trust_anchors_verify_email()
| getdns_return_t getdns_context_set_trust_anchors_verify_email | ( | getdns_context * | context, |
| const char * | verify_email | ||
| ) |
Sets the email address for the Subject of the signer's certificate from the p7s signature file with which to validate the XML file fetched from the url given with the getdns_context_set_trust_anchors_url() function.
- See also
- getdns_context_get_trust_anchors_verify_email
- getdns_context_set_trust_anchors_url
- getdns_context_set_trust_anchors_verify_CA
- Parameters
-
[in] context The context to configure [in] verify_email Only signatures from this name are allowed. The default dnsse. When NULL is given, the default will be used. When an empty string is given, Zero configuration DNSSEC will be disabled. c@ia na.or g
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_get_resolution_type()
| getdns_return_t getdns_context_get_resolution_type | ( | getdns_context * | context, |
| getdns_resolution_t * | value | ||
| ) |
Get the current resolution type setting from this context.
- Parameters
-
[in] context The context from which to get the setting [out] value The resolution type, either GETDNS_RESOLUTION_RECURSING or GETDNS_RESOLUTION_STUB.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_namespaces()
| getdns_return_t getdns_context_get_namespaces | ( | getdns_context * | context, |
| size_t * | namespace_count, | ||
| getdns_namespace_t ** | namespaces | ||
| ) |
Get a copy of the namespaces list setting from this context. Users must call free on the resulting namespaces if not NULL
- Parameters
-
[in] context The context from which to get the setting [out] namespace_count The length of the list. [out] namespaces The returned namespaces list.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when any of the arguments was NULL.
◆ getdns_context_get_dns_transport()
| getdns_return_t getdns_context_get_dns_transport | ( | getdns_context * | context, |
| getdns_transport_t * | value | ||
| ) |
Get what transports are used for DNS lookups.
- See also
- getdns_context_set_dns_transport
- Transport arrangements and texts
- getdns_context_get_dns_transport_list
- Parameters
-
[in] context The context from which to get the setting [out] value The transport to use for DNS lookups.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when any of the arguments was NULL.
◆ getdns_context_get_dns_transport_list()
| getdns_return_t getdns_context_get_dns_transport_list | ( | getdns_context * | context, |
| size_t * | transport_count, | ||
| getdns_transport_list_t ** | transports | ||
| ) |
Get a copy of the transports list setting from this context. Users must call free on the resulting transports if not NULL
- See also
- getdns_context_set_dns_transport_list
- Transport list values and tests
- getdns_context_get_dns_transport
- Parameters
-
[in] context The context from which to get the setting [out] transport_count The length of the list. [out] transports The returned transports list.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when any of the arguments was NULL.
◆ getdns_context_get_limit_outstanding_queries()
| getdns_return_t getdns_context_get_limit_outstanding_queries | ( | getdns_context * | context, |
| uint16_t * | limit | ||
| ) |
Get the current limit for oustanding queries setting from this context.
- Parameters
-
[in] context The context from which to get the setting [out] limit The current limit for oustanding queries
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or limit was NULL.
◆ getdns_context_get_timeout()
| getdns_return_t getdns_context_get_timeout | ( | getdns_context * | context, |
| uint64_t * | timeout | ||
| ) |
Get the current number of milliseconds the API will wait for request to return setting from this context.
- See also
- getdns_context_set_timeout
- Parameters
-
[in] context The context from which to get the setting [out] timeout The number of milliseconds the API will wait for a response.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or limit was NULL.
◆ getdns_context_get_idle_timeout()
| getdns_return_t getdns_context_get_idle_timeout | ( | getdns_context * | context, |
| uint64_t * | timeout | ||
| ) |
Get the current number of milliseconds the API will leave an idle TCP or TLS connection open for (idle means no outstanding responses and no pending queries).
- See also
- getdns_context_set_idle_timeout
- Parameters
-
[in] context The context from which to get the setting [out] timeout The number of milliseconds the API will leave an idle TCP or TLS connection open for
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or timeout was NULL.
◆ getdns_context_get_follow_redirects()
| getdns_return_t getdns_context_get_follow_redirects | ( | getdns_context * | context, |
| getdns_redirects_t * | value | ||
| ) |
Get the setting that says whether or not DNS queries follow redirects.
- Parameters
-
[in] context The context from which to get the setting [out] value Either GETDNS_REDIRECTS_FOLLOW or GETDNS_REDIRECTS_DO_NOT_FOLLOW
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_dns_root_servers()
| getdns_return_t getdns_context_get_dns_root_servers | ( | getdns_context * | context, |
| getdns_list ** | addresses | ||
| ) |
Get a copy of the list of addresses in use for looking up top-level domains in use by the context. Callers are responsible for deallocating the returned list with getdns_list_destroy()
- Parameters
-
[in] context The context from which to get the setting [out] addresses A copy of the list of dns root servers in use for looking up top level domains. The caller must destroy this list.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or adresses was NULL.
- GETDNS_RETURN_MEMORY_ERROR when the copy could not be allocated
◆ getdns_context_get_append_name()
| getdns_return_t getdns_context_get_append_name | ( | getdns_context * | context, |
| getdns_append_name_t * | value | ||
| ) |
Get whether, how and when a suffix is appended to a query string with the context.
- Parameters
-
[in] context The context from which to get the setting [out] value GETDNS_APPEND_NAME_TO_SINGLE_LABEL_FIRST, GETDNS_APPEND_NAME_ALWAYS, GETDNS_APPEND_NAME_ONLY_TO_SINGLE_LABEL_AFTER_FAILURE, GETDNS_APPEND_NAME_ONLY_TO_MULTIPLE_LABEL_NAME_AFTER_FAILURE, or GETDNS_APPEND_NAME_NEVER
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_suffix()
| getdns_return_t getdns_context_get_suffix | ( | getdns_context * | context, |
| getdns_list ** | value | ||
| ) |
Get a copy of the list of suffixes to be appended based on the value off the append_name setting in use by context Callers are responsible for deallocating the returned list with getdns_list_destroy()
- See also
- getdns_context_set_suffix
- Parameters
-
[in] context The context from which to get the setting [out] value A copy of the list of suffixes. The caller must destroy this list.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
- GETDNS_RETURN_MEMORY_ERROR when the copy could not be allocated
◆ getdns_context_get_dnssec_trust_anchors()
| getdns_return_t getdns_context_get_dnssec_trust_anchors | ( | getdns_context * | context, |
| getdns_list ** | value | ||
| ) |
Get a copy of the list of DNSSEC trust anchors in use by context. Callers are responsible for deallocating the returned list with getdns_list_destroy()
- Parameters
-
[in] context The context from which to get the setting [out] value A copy of the list of DNSSEC trust anchors. The caller must destroy this list.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
- GETDNS_RETURN_MEMORY_ERROR when the copy could not be allocated
◆ getdns_context_get_dnssec_allowed_skew()
| getdns_return_t getdns_context_get_dnssec_allowed_skew | ( | getdns_context * | context, |
| uint32_t * | value | ||
| ) |
Get the allowed DNSSEC skew setting from context
- Parameters
-
[in] context The context from which to get the setting [out] value The number of seconds of skew that is allowed in either direction when checking an RRSIG's Expiration and Inception fields.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_upstream_recursive_servers()
| getdns_return_t getdns_context_get_upstream_recursive_servers | ( | getdns_context * | context, |
| getdns_list ** | upstream_list | ||
| ) |
Get a copy of the list of upstream that will be targeted in stub resolution mode. Callers are responsible for deallocating the returned list with getdns_list_destroy()
- Parameters
-
[in] context The context from which to get the setting [out] upstream_list A copy of the list of upstreams. The caller must destroy this list.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
- GETDNS_RETURN_MEMORY_ERROR when the copy could not be allocated
◆ getdns_context_get_edns_maximum_udp_payload_size()
| getdns_return_t getdns_context_get_edns_maximum_udp_payload_size | ( | getdns_context * | context, |
| uint16_t * | value | ||
| ) |
Get the maximum UDP payload size advertised in an EDNS0 OPT record setting from context
- See also
- getdns_context_set_edns_maximum_udp_payload_size
- getdns_context_unset_edns_maximum_udp_payload_size
- Parameters
-
[in] context The context from which to get the setting [out] value the maximum UDP payload size advertised in an EDNS0 OPT record. When the value is unset, 0 is returned.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_edns_extended_rcode()
| getdns_return_t getdns_context_get_edns_extended_rcode | ( | getdns_context * | context, |
| uint8_t * | value | ||
| ) |
Get the rcode advertised in an EDNS0 OPT record setting from context
- Parameters
-
[in] context The context from which to get the setting [out] value The rcode advertised in an EDNS0 OPT record
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_edns_version()
| getdns_return_t getdns_context_get_edns_version | ( | getdns_context * | context, |
| uint8_t * | value | ||
| ) |
Get the version advertised in an EDNS0 OPT record setting from context
- See also
- getdns_context_set_edns_version
- Parameters
-
[in] context The context from which to get the setting [out] value The version advertised in an EDNS0 OPT record
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_edns_do_bit()
| getdns_return_t getdns_context_get_edns_do_bit | ( | getdns_context * | context, |
| uint8_t * | value | ||
| ) |
Get the DO bit advertised in an EDNS0 OPT record setting from context
- See also
- getdns_context_set_edns_do_bit
- Parameters
-
[in] context The context from which to get the setting [out] value 1 if the DO bit is advertised in EDNS0 OPT records, 0 otherwise.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_edns_client_subnet_private()
| getdns_return_t getdns_context_get_edns_client_subnet_private | ( | getdns_context * | context, |
| uint8_t * | value | ||
| ) |
Get whether queries with this context will have the EDNS Client Subnet option set to hide the originating network when resolving in stub resolution.
- See also
- getdns_context_set_edns_do_bit
- Parameters
-
[in] context The context from which to get the setting [out] value 1 if the setting is on, 0 otherwise
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_tls_query_padding_blocksize()
| getdns_return_t getdns_context_get_tls_query_padding_blocksize | ( | getdns_context * | context, |
| uint16_t * | value | ||
| ) |
Get the blocksize that will be used to pad outgoing queries over TLS.
- Parameters
-
[in] context The context from which to get the setting [out] value The padding blocksize, or 0 if padding is disabled, or 1 if the setting is to pad using a sensible policy.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_tls_authentication()
| getdns_return_t getdns_context_get_tls_authentication | ( | getdns_context * | context, |
| getdns_tls_authentication_t * | value | ||
| ) |
Get whether the upstream needs to be authenticated whith DNS over TLS.
- Parameters
-
[in] context The context from which to get the setting [out] value is either GETDNS_AUTHENTICATION_REQUIRED if authentication is required, or GETDNS_AUTHENTICATION_NONE if authentication is optional. When credentials are available, the API will still try to authenticate the upstream. See getdns_context_set_upstream_recursive_servers for details on how to configure credentials per upstream.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_round_robin_upstreams()
| getdns_return_t getdns_context_get_round_robin_upstreams | ( | getdns_context * | context, |
| uint8_t * | value | ||
| ) |
Get whether the context is configured to round robin queries over the available upstreams.
- Parameters
-
[in] context The context from which to get the setting [out] value 1 if the setting is on, 0 otherwise
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_tls_backoff_time()
| getdns_return_t getdns_context_get_tls_backoff_time | ( | getdns_context * | context, |
| uint16_t * | value | ||
| ) |
Get the amount of seconds a TLS connection should not be tried with an upstream when it has never been tried before.
- Parameters
-
[in] context The context from which to get the setting [out] value Number of seconds before an attempt to setup DNS over TLS, with an upstream for which setting up an TLS connection has never been successful before, will be retried.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_tls_connection_retries()
| getdns_return_t getdns_context_get_tls_connection_retries | ( | getdns_context * | context, |
| uint16_t * | value | ||
| ) |
Get the number of times getdns retries to setup DNS over TLS with a specific upstream, before it decides to give up for tls_backoff_time seconds.
- Parameters
-
[in] context The context from which to get the setting [out] value Number of attempts to retry setting up a DNS over TLS connection before giving up.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context or value was NULL.
◆ getdns_context_get_update_callback()
| getdns_return_t getdns_context_get_update_callback | ( | getdns_context * | context, |
| void ** | userarg, | ||
| void(**)(getdns_context *, getdns_context_code_t, void *) | value | ||
| ) |
Get the currently registered callback function and user defined argument for context changes. Combined with getdns_context_set_update_callback this can be used to "chain" context update callbacks and in this way create a subscription service catering multiple interested parties.
- See also
- Context code values and texts
- Parameters
-
context The context to monitor for changes userarg A user defined argument to be passed to the callback function. value The callback function to be called on context value changes.
- Returns
- GETDNS_RETURN_GOOD on success or an error code on failure.
◆ getdns_context_get_trust_anchors_url()
| getdns_return_t getdns_context_get_trust_anchors_url | ( | getdns_context * | context, |
| const char ** | url | ||
| ) |
Gets the url for the location of the XML file from which to fetch the trust anchors with Zero configuration DNSSEC.
Alongside the XML file, also the S/MIME signature that will be used to validate the XML file, will be fetched from the url with the .xml extension replaced by .p7s.
When successfully validated with the verify Certificate Authority and the verify email address, the context will be equipped with the DNSSEC trust anchors defined within the XML file as described in RFC7958. The XML file will also be stored together with the .p7s file in the appdata directory with the names "root-anchors.xml" and "root-anchors.p7s" respectively.
When the trust-anchors from the XML file are used, the root DNSKEY is tracked and stored in the appdata directory too as "root.key"
Trust anchors from the XML file will be tried when:
- There were no other trust anchors provided, either by the default trust anchor file "/etc/unbound/getdns-root.key", or set with the getdns_context_set_dnssec_trust_anchors() function.
- or the available trust anchors (from the default location or set by the application) caused the root DNSKEY rrset to be BOGUS.
Trust anchors from the XML file will be read from the root-anchors.xml file in appdata directory and will only be used when validation with the S/MIME signatures in root-anchors.p7s succeeds with the verification Certificate Authority and the verification email address.
A (new) version of "root-anchors.xml" and "root-anchors.p7s" will be fetched when:
- The appdata directory is writeable by the current used, but the "root-anchors.xml" or "root-anchors.p7s" files were not available.
- or there is a new root DNSKEY RRset (or signature) and it contains key_ids which were not in "root-anchors.xml."
- See also
- getdns_context_set_trust_anchors_url
- getdns_context_get_trust_anchors_verify_CA
- getdns_context_get_trust_anchors_verify_email
- Parameters
-
[in] context The context to configure [out] url The url including the XML file, from which the trust anchors (and the S/MIME signature) will be fetched. Default is: http://data.iana.org/root-anchors/root-anchors.xml
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_get_trust_anchors_verify_CA()
| getdns_return_t getdns_context_get_trust_anchors_verify_CA | ( | getdns_context * | context, |
| const char ** | verify_CA | ||
| ) |
Gets the public certificate for the Certificate Authority with which to validate the XML file with the S/MIME signatures fetch from the url given with the getdns_context_set_trust_anchors_url() function.
- See also
- getdns_context_set_trust_anchors_verify_CA
- getdns_context_get_trust_anchors_url
- getdns_context_get_trust_anchors_verify_email
- Parameters
-
[in] context The context to configure [out] verify_CA The certificate of the Certificate Authority with which to validate the XML trust anchors. The default is the ICANN Root CA, which is valid till Dec 18 2029.
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_get_trust_anchors_verify_email()
| getdns_return_t getdns_context_get_trust_anchors_verify_email | ( | getdns_context * | context, |
| const char ** | verify_email | ||
| ) |
Gets the email address for the Subject of the signer's certificate from the p7s signature file with which to validate the XML file fetched from the url given with the getdns_context_set_trust_anchors_url() function.
- See also
- getdns_context_set_trust_anchors_verify_email
- getdns_context_get_trust_anchors_url
- getdns_context_get_trust_anchors_verify_CA
- Parameters
-
[in] context The context to configure [out] verify_email Only signatures from this name are allowed. The default dnsse. c@ia na.or g
- Returns
- GETDNS_RETURN_GOOD when successful
- GETDNS_RETURN_INVALID_PARAMETER when context was NULL.
◆ getdns_context_config()
| getdns_return_t getdns_context_config | ( | getdns_context * | context, |
| const getdns_dict * | config_dict | ||
| ) |
Configure a context with settings given in a getdns_dict.
- Parameters
-
context The context to be configured. config_dict The getdns_dict containing the settings. The settings have the same name as returned by the getdns_context_get_api_information() function, or as used in the names of the getdns_context_get_*() and getdns_context_set_*() functions. - The dict returned by getdns_context_get_api_information() can be used as the config_dict directly, but context settings do not have to be below a
"all_context"
key. - It is possible to set default values for extensions that could otherwise only be given on a per query basis. For example:
{ dnssec_return_status: GETDNS_EXTENSION_TRUE }
is equivalent to using the getdns_context_set_return_dnssec_status() function with that value, but default values for the other extensions can be set by this method now too. For example{ return_call_reporting: GETDNS_EXTENSION_TRUE}
- Trust anchor files and root hints content can also be given by file, for example:
{ dns_root_servers : "named.root" , dnssec_trust_anchors: "/etc/unbound/getdns-root.key" }
- The dict returned by getdns_context_get_api_information() can be used as the config_dict directly, but context settings do not have to be below a
- Returns
- GETDNS_RETURN_GOOD on success or an error code on failure. Beware that context might be partially configured on error. For retry strategies it is advised to recreate a new config.


Pythagorean Triplet Generator
Pick two positive integers. To generate the legs of a right triangle, make the first number bigger than the second.
My first number is
My second number is


This is not government site. Do not use real data.
Step 1
Before starting the application process, there are three questions you should answer first:
1. Are you eligible to apply?
* You need a valid paper based Green Card
* You will need a sign-in account in UCIS
2. Do you have an invitation?
* At this time, you need an invitation to apply for a digital green card
* Your invitation contains a unique code you will need for the application
3. Do you have a Digital Wallet to Store your Digital Green Card?
* The Digital Green Card will be stored in your Digital Wallet.
* The Digital Wallet must meet USG security, privacy & interoperability requirements
- Approved CHAPI Wallet A
- Approved CHAPI Wallet B
- Approved OIDC Credential Provider Wallet C
If the answer to all three questions is YES:
Apply for your Digital Green Card


In an attempt to learn the basics of making web applications, I decided to try and replicate Cameron Taylor's
"Finite Difference Coefficients Calculator". This is an algorithmic method for calculating the form of
higher order derivative approximations for use in numerically solving
ordinary and partial differential equations.
The method works by calculating Taylor series coefficients of the function and its derivatives at each sample point, then matrix algebra is used to determine the unknown coefficients of the stencil. In the original example the matrix algebra is calculated with floating point operations, then the stencil coefficients are determined by continued fraction truncation. In my implementation I defined matrix algebra methods with rational numbers, using
rationalAlgebra.py. That way the stencil coefficients can be calculated without approximation.
This site is
open source.


bmp format
table of contents introduction bmp contents field details height field bits per pixel field compression field colors field important colors field introduction this document describes the microsoft windows and ibm os/2 picture bitmap files, called bitmaps or bmp files. most of the descriptions of the bmp file concentrate on the microsoft windows bmp structures like bmpinfoheader and bmpcoreinfo , but only a few describe the file contents on byte level. this information is therefor only intended to be used in applications where direct reading and writing of a bmp file is required. bitmap file formatthe following chapters contain the detailed information on the contents of the bmp file. first more general information will be given regarding the byte order and file alignment. the second chapter will concentrate on the byte-level contents of a bmp file. the third chapter will elaborate on this chapter and explain some of the concepts - like compression - and/or values in detail. generalthe bmp file has been created by microsoft and ibm and is therefor very strictly bound to the architecture of the main hardware platform that both companies support: the ibm compatible pc. this means that all values stored in the bmp file are in the intel format, sometimes also called the little endian format because of the byte order that an intel processor uses internally to store values. the bmp files are the way, windows stores bit mapped images. the bmp image data is bit packed but every line must end on a dword boundary - if that 抯 not the case, it must be padded with zeroes. bmp files are stored bottom-up, that means that the first scan line is the bottom line.the bmp format has four incarnations, two under windows (new and old) and two under os/2, all are described here. bmp contentsthe following table contains a description of the contents of the bmp file. for every field, the file offset, the length and the contents will be given. for a more detailed discussion, see the following chapters.
note: the following sizes were used in the specification above:
some of the fields require some more information. the following chapters will try to provide this information: height fieldthe height field identifies the height of the bitmap in pixels. in other words, it describes the number of scan lines of the bitmap. if this field is negative, indicating a top-down dib, the compression field must be either bi_rgb or bi_bitfields. top-down dibs cannot be compressed. bits per pixel fieldthe bits per pixel (bbp) field of the bitmap file determines the number of bits that define each pixel and the maximum number of colors in the bitmap. the bitmap is monochrome, and the palette contains two entries. each bit in the bitmap array represents a pixel. if the bit is clear, the pixel is displayed with the color of the first entry in the palette; if the bit is set, the pixel has the color of the second entry in the table.
the bitmap has a maximum of 16 colors, and the palette contains up to 16 entries. each pixel in the bitmap is represented by a 4-bit index into the palette. for example, if the first byte in the bitmap is 1fh, the byte represents two pixels. the first pixel contains the color in the second palette entry, and the second pixel contains the color in the sixteenth palette entry.
the bitmap has a maximum of 256 colors, and the palette contains up to 256 entries. in this case, each byte in the array represents a single pixel.
the bitmap has a maximum of 2^16 colors. if the compression field of the bitmap file is set to bi_rgb, the palette field does not contain any entries. each word in the bitmap array represents a single pixel. the relative intensities of red, green, and blue are represented with 5 bits for each color component. the value for blue is in the least significant 5 bits, followed by 5 bits each for green and red, respectively. the most significant bit is not used. if the compression field of the bitmap file is set to bi_bitfields, the palette field contains three dword color masks that specify the red, green, and blue components, respectively, of each pixel. each word in the bitmap array represents a single pixel. windows nt specific: when the compression field is set to bi_bitfields, bits set in each dword mask must be contiguous and should not overlap the bits of another mask. all the bits in the pixel do not have to be used. windows 95 specific: when the compression field is set to bi_bitfields, windows 95 supports only the following 16bpp color masks: a 5-5-5 16-bit image, where the blue mask is 0x001f, the green mask is 0x03e0, and the red mask is 0x7c00; and a 5-6-5 16-bit image, where the blue mask is 0x001f, the green mask is 0x07e0, and the red mask is 0xf800.
the bitmap has a maximum of 2^24 colors, and the palette field does not contain any entries. each 3-byte triplet in the bitmap array represents the relative intensities of blue, green, and red, respectively, for a pixel.
the bitmap has a maximum of 2^32 colors. if the compression field of the bitmap is set to bi_rgb, the palette field does not contain any entries. each dword in the bitmap array represents the relative intensities of blue, green, and red, respectively, for a pixel. the high byte in each dword is not used. if the compression field of the bitmap is set to bi_bitfields, the palette field contains three dword color masks that specify the red, green, and blue components, respectively, of each pixel. each dword in the bitmap array represents a single pixel. windows nt specific: when the compression field is set to bi_bitfields, bits set in each dword mask must be contiguous and should not overlap the bits of another mask. all the bits in the pixel do not have to be used. windows 95 specific: when the compression field is set to bi_bitfields, windows 95 supports only the following 32bpp color mask: the blue mask is 0x000000ff, the green mask is 0x0000ff00, and the red mask is 0x00ff0000. compression fieldthe compression field specifies the way the bitmap data is stored in the file. this information together with the bits per pixel (bpp) field identifies the compression algorithm to follow. the following values are possible in this field:
when the compression field is bi_rle8, the bitmap is compressed by using a run-length encoding (rle) format for an 8-bit bitmap. this format can be compressed in encoded or absolute modes. both modes can occur anywhere in the same bitmap.
the first byte specifies the number of consecutive pixels to be drawn using the color index contained in the second byte. in addition, the first byte of the pair can be set to zero to indicate an escape that denotes an end of line, end of bitmap, or delta. the interpretation of the escape depends on the value of the second byte of the pair, which can be one of the following:
the first byte is zero and the second byte is a value in the range 03h through ffh. the second byte represents the number of bytes that follow, each of which contains the color index of a single pixel. when the second byte is 2 or less, the escape has the same meaning as in encoded mode. in absolute mode, each run must be aligned on a word boundary.
the following example shows the hexadecimal values of an 8-bit compressed bitmap. 03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1e 00 01 this bitmap would expand as follows (two-digit values represent a color index for a single pixel): 04 04 04 06 06 06 06 06 45 56 67 78 78 move current position 5 right and 1 down 78 78 end of line 1e 1e 1e 1e 1e 1e 1e 1e 1e end of rle bitmap
when the compression field is bi_rle4, the bitmap is compressed by using a run-length encoding format for a 4-bit bitmap, which also uses encoded and absolute modes:
the first byte of the pair contains the number of pixels to be drawn using the color indices in the second byte. the second byte contains two color indices, one in its high-order four bits and one in its low-order four bits. the first of the pixels is drawn using the color specified by the high-order four bits, the second is drawn using the color in the low-order four bits, the third is drawn using the color in the high-order four bits, and so on, until all the pixels specified by the first byte have been drawn. the first byte is zero, the second byte contains the number of color indices that follow, and subsequent bytes contain color indices in their high- and low-order four bits, one color index for each pixel. in absolute mode, each run must be aligned on a word boundary. the end-of-line, end-of-bitmap, and delta escapes described for bi_rle8 also apply to bi_rle4 compression. the following example shows the hexadecimal values of a 4-bit compressed bitmap. 03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01 04 78 00 00 09 1e 00 01 this bitmap would expand as follows (single-digit values represent a color index for a single pixel): 0 4 0 0 6 0 6 0 4 5 5 6 6 7 7 8 7 8 move current position 5 right and 1 down 7 8 7 8 end of line 1 e 1 e 1 e 1 e 1 end of rle bitmap colors fieldthe colors field specifies the number of color indices in the color table that are actually used by the bitmap. if this value is zero, the bitmap uses the maximum number of colors corresponding to the value of the bbp field for the compression mode specified by the compression field. if the colors field is nonzero and the bbp field less than 16, the colors field specifies the actual number of colors the graphics engine or device driver accesses. if the bbp field is 16 or greater, then colors field specifies the size of the color table used to optimize performance of windows color palettes. if bbp equals 16 or 32, the optimal color palette starts immediately following the three double word masks. if the bitmap is a packed bitmap (a bitmap in which the bitmap array immediately follows the bitmap header and which is referenced by a single pointer), the colors field must be either 0 or the actual size of the color table. important colors fieldthe important colors field s pecifies the number of color indices that are considered important for displaying the bitmap. if this value is zero, all colors are important. |


|
RGBLINK(1) |
General Reference Manual |
RGBLINK(1) |
NAME
rgblink — Game Boy linker
SYNOPSIS
|
rgblink |
[-t] [-l library] [-m mapfile] [-n symfile] [-o outfile] [-p pad_value] [-s symbol] file ... |
DESCRIPTION
The
rgblink program links objects created by
rgbasm(1) into a single Game Boy ROM file.
By default, HOME sections created by the assembler are placed in the 16KiB bank 0, and CODE/DATA sections are placed in any bank except bank 0. If your ROM will only be 32KiB, you can use the -t option to override this.
The arguments are as follows:
-
-l library
-
Include a referenced library module created with rgblib(1). Note that specified libraries will be included only if needed—that is, if a SECTION from a library is referenced by an object file. Only the relevant SECTION will be included, rather than the entire module.
-
-m mapfile
-
Write a mapfile to the given filename.
-
-n symfile
-
Write a symbol file to the given filename.
-
-o outfile
-
Write ROM image to the given filename.
-
-p pad_value
-
When padding an image, pad with this value. The default is 0x00.
-
-s symbol
-
???
-
-t
-
Write a tiny (32KiB) ROM file. This forces all DATA/CODE sections to be of type HOME, and increases the HOME section size from 16KiB to 32KiB.
EXAMPLES
All you need for a basic ROM is an object file, which can be made into a ROM image like so:
$ rgblink -o bar.gb foo.o
The resulting bar.gb will not have correct checksums (unless you put them in the assembly source). You should use rgbfix(1) to fix these so that the program will actually run in a Game Boy:
$ rgbfix -v bar.gb
HISTORY
rgblink was originally written by Carsten Sørensen as part of the ASMotor package, and was later packaged in RGBDS by Justin Lloyd.


Linux/OSX awesomeness
Not specific to this projec, but can be incredibly useful ways to maximizes your time. Mastering the command line is the best way to get things done, quick and cheaply.
Reapeat after me:
-
I will write a script for any tasks I do regularly
Core commands
Some very big time-saving commands
In shell scripts
-
basename - what is the file name again? not the path, just the file name
-
dirname - what directory is this in?
-
readllink -f - what is the absolute path of this file?
-
cat - spit out the contents of one or more files
-
cp - copy file or dir
-
scp - copy file or dir to another machine
-
rsync - both the above, but so much more awesome
-
rsync -av here there
-
rsync -e ssh -av here user@host:there
-
-
cut - wish I could i could chop out this column in the middle here
-
date - would be nice if I had some way to make this log file name a little more unique
-
echo - System.out.println()
-
xargs - can be useful but doesn’t respect paths with spaces. I only use it sometimes
-
find - find some files and potentially execute a command against them
-
egrep - search for text in a file or from STDIN. better than grep
-
mkdir - makes a dir, with -p will make parent dirs too
-
mv - move a file
-
head - spit out the first N lines of a file
-
tail - spit out the last N lines of a file
-
tee - I want to see the output of this command, but I also want to write it to a file. Oh! tee is awesome!
-
perl - edit a stream: cat file.txt
-
edit a file: perl -i -pe 's/this/that/'
-
-
pwd - where am I?
-
rm - delete
-
read (bash) - I dig this out for strings with spaces. paths have spaces in them sometimes
-
ls *.txt
-
find . -name "*.txt"
-
-
export (bash) - why can’t my script find this command? i use this to debug scripts 'export > /tmp/script-env.txt'
-
for (bash) - my favorite bash construct
-
for n in one two three; do echo "$n"; done
-
(side note, always quote your variables like "$n" vs $n, trust me it’s a good habit)
-
-
while (bash) - my second favorite bash construct
-
loop forever and do something: while true; do my_command; sleep 10; done
-
-
sleep - Thread.sleep(). Only accepts seconds. I typically do the math with bash sytax
-
sleep for an hour: sleep $60 * 60
-
sleep for a day: sleep $60 * 60 * 24
-
-
sort - sort lines of text
-
uniq - trim out the duplicates
-
show me only things that had duplicates: uniq -d
-
( I always 'sort
-
-
ssh - awesomeness. can execute commands remotely too
-
ssh people.apache.org pwd
-
ssh people.apache.org 'pwd
-
-
sudo - I wish I were a fish. I wish I were a fish.
-
tar - package up some stuff
-
wget - download this url
-
wget http://apache.org
-
wget -q -O - http://apache.org
-
-
tr - echo $PATH
-
uname - what system am I on?
OSX commands
-
pbpaste - paste the contents of the clipboard to stdout
-
pbcopy - copy stdin to the clipbboard
running shell scripts
-
bash - quick way to run a script if it isn’t already executable
-
chmod - this file should be executable
-
clear - my terminal is messy
-
diff/patch - comparing or merging file contents
-
ps/kill - my script is running too long, i want to force it to stop
-
less - paging through command line output
-
nohup - I don’t want this script to die if my connection is interrupted
-
which - where does this command live?
-
crontab - schedule something to run regularly (i use 'bash -l foo.sh' to run stuff in my crontab file)
-
shutdown - shutdown or restart a machine
-
top - what the heck is chewing up my cpu?
-
uname - what system am I on?
I never use
Some people like it. sed — i always use "perl -pe 's/find/replace/'")
Getting used to using perl is better. This page was originally written thinking markdown had table support like confluence does. Soo all lines where using "| command | description |" formatting. Markdown doesn’t have that, so I changed it to a list syntax with the following command on my mac:
pbpaste | perl -ne '@f = split(" *\\| *", $_);
print " - **$f[1]** - $f[2]\n"' | pbcopy


Quickstart#
Ballad has many reasonable defaults, so you usually won’t find a need to configure anything.
Ballad is meant to be run in the command line, but it also supports a Python API.
$ python -m ballad --help
Usage: python -m ballad [OPTIONS] COMMAND [ARGS]...
Install Poetry Project without Poetry
Options:
--help Show this message and exit.
Commands:
convert-lock Reads lockfile, convert it to JSON, then outputs...
install Install dependencies from lockfile using PIP
The CLI exposes the most useful command of Ballad, install
.
$ python -m ballad install --help
Usage: python -m ballad install [OPTIONS]
Install dependencies from lockfile using PIP
Options:
-d, --development / -p, --production
-l, --lockfile TEXT
-q, --quiet
--help Show this message and exit.
The install command has many sensible defaults. For one, it assumes that you want to install your development dependencies. It also assumes that your lockfile name is poetry.lock
. All you need to do is run:
$ python -m ballad install


In order to add a word to begin translation we need to open PostMan to test our POST action on Words.
Once on PostMan follow these steps
1). From the Drop Down Arrow Change Action to POST and Change select from Authorization to Body
2). Enter Address : <IP_ADDRESS>:8948/words
3). if form-data is bubbled in, change it by selecting raw
4). Make Sure the drop down arrow to the right of binary bubble is JSON(application/json) and not text.
5). Inside the API response content enter : { "word" : "Soccer" }
5.1). Note "Nothing" can be changed to any word you would like to add.
5.2). { "word" : "ENTER YOUR ENGLISH WORD HERE" }
6). Press Send for API request.
6.1). if you want to see changes of your word being added : From the Drop Down Arrow Change POST to GET
In order to add a Translated Word keep PostMan Open to test our POST action on Targets.
1). From the Drop Down Arrow Change Action to POST and Change select from Authorization to Body
2). Enter Address : <IP_ADDRESS>:8948/targets
3). if form-data is bubbled in, change it by selecting raw
4). Make Sure the drop down arrow to the right of binary bubble is JSON(application/json) and not text.
5). Inside the API response content enter : { "target": "Futbol", "wordId": 3, "languageId": 2 }
5.1). Where "target" : "Enter Translated Word" , is a translated word
5.2). So for my example, eariler when we added a word, i choose to add the enlish word Soccer and the Spanish Translation is Futbol.
5.3). You will add the spanish translation of the word you choose above
5.4). "wordId": 3 , eariler when you added a word, that actually became the 3rd word in my data base.
5.5). so if you only added one word on STEP 1, wordId will be 3.
if you added two words, then the first word you added will be "wordId": 3, and you will follow STEP 2 again to account for the second word you added which will be "wordId": 4.
6.1). "languageId": 2 will always stay constant no matter how many words you added. because we are doing English to Spanish
6.2). "languageId": 2 means we are adding the Spanish Translation, 1 is the languageId of English.
6.3). the important thing to remember here is my database starts initialized with two words and corresponding translations for those words so wordId has to start at 3 and move up from there.
6.3). just to make sure everything is clear. if you added cat and dog, when you add the translated word for cat, your "wordId": 3 and the next API response for translated word for Dog will be "wordId": 4
After you completed the above steps we are ready to test our Translation ENTER THE URL :
<IP_ADDRESS>:8948/targets/getTranslationByLanguageId?word=Soccer&languageId=1&targetLanguageId=2
<IP_ADDRESS>:8948/targets/getTranslationByLanguageId?word= ENTER YOUR WORD HERE &languageId=1&targetLanguageId=2
for my example my word is Soccer but you will enter your word, &languageId=1 is saying this is a english
&targetLanguageId=2 is telling us to do a spanish translation for the given word.
the url can either be entered in Chrome or PostMan
2. IMPORTANT - if you want to do Spanish to English switch &languageId to 2 and &targetLanguageId to 1.
After you completed Step 1 and 2 we are to test our Translation ENTER THE URL :
<IP_ADDRESS>:8948/targets/getTranslationByLanguage?word=Soccer&language=English&targetLanguage=Spanish
<IP_ADDRESS>:8948/targets/getTranslationByLanguage?word= ENTER YOUR WORD HERE &language=English&targetLanguage=Spanish
For my example my word is Soccer but you will enter your word, &language=English is is saying this is a english
&targetLanguage=Spanish is telling us to do a spanish translation for the given word.
IMPORTANT if you want to do Spanish Word to English, On Step 1: added a spanish word,follow STEP 2: but "languageId": will be 1 ("languageId":1). and when you get here to doing the actual translation switch &language and &targetLanguage.
Short Tutorial - Follow by Example. English to Spanish - Soccer - Futbol
Step 1: Postman : Post Action on <IP_ADDRESS>:8948/words
Inside the API response content enter : { "word" : "Soccer" } and Send it
Step 2: Postman : Post Action on <IP_ADDRESS>:8948/targets
API response content enter { "target": "Futbol", "wordId": 3, "languageId": 2 }
<IP_ADDRESS>:8948/targets/getTranslationByLanguageId?word=Soccer&languageId=1&targetLanguageId=2
<IP_ADDRESS>:8948/targets/getTranslationByLanguage?word=Soccer&language=English&targetLanguage=Spanish


Item 9.9.2.c.
What should the Department of Education do with student loans held by other for-profit colleges, including those who were not as openly fraudulent as Corinthian (who paid companies to hire their students for two days in order to inflate their job placement numbers)?in-context


Welcome to Moein's Netflix :)
Login!
I don't have an account, Sign me Up!
Login to your account:
Login


--- title: Israel shot 123 date: 2004-05-03T00:00:00.000Z filepathOriginal: photos/IMG0128.jpg filepathThumbnail: photos/IMG0128.thumbnail.jpg filepathPreview: photos/IMG0128.preview.jpg ---
Akko: Shtern, Crembo, Dane, Me, Chad, and Ari, riding Beck's cannon as he shoots into Porntoy


|
Bullet Collision Detection & Physics Library
|
#include <btRaycastCallback.h>
Public Types | |
| enum | EFlags { kF_None = 0, kF_FilterBackfaces = 1 << 0, kF_KeepUnflippedNormal = 1 << 1, kF_UseSubSimplexConvexCastRaytest = 1 << 2, kF_UseGjkConvexCastRaytest = 1 << 3, kF_DisableHeightfieldAccelerator = 1 << 4, kF_Terminator = 0xFFFFFFFF } |
Public Member Functions | |
| btTriangleRaycastCallback (const btVector3 &from, const btVector3 &to, unsigned int flags=0) | |
| virtual void | processTriangle (btVector3 *triangle, int partId, int triangleIndex) |
| virtual btScalar | reportHit (const btVector3 &hitNormalLocal, btScalar hitFraction, int partId, int triangleIndex)=0 |
| Public Member Functions inherited from btTriangleCallback | |
| virtual | ~btTriangleCallback () |
Public Attributes | |
| btVector3 | m_from |
| btVector3 | m_to |
| unsigned int | m_flags |
| btScalar | m_hitFraction |
Definition at line 24 of file btRaycastCallback.h.
Definition at line 32 of file btRaycastCallback.h.
| btTriangleRaycastCallback::btTriangleRaycastCallback | ( | const btVector3 & | from, |
| const btVector3 & | to, | ||
| unsigned int | flags = 0 |
||
| ) |
Definition at line 26 of file btRaycastCallback.cpp.
|
virtual |
Implements btTriangleCallback.
Definition at line 35 of file btRaycastCallback.cpp.
|
pure virtual |
Implemented in MyCallback.
| unsigned int btTriangleRaycastCallback::m_flags |
Definition at line 43 of file btRaycastCallback.h.
| btVector3 btTriangleRaycastCallback::m_from |
Definition at line 28 of file btRaycastCallback.h.
| btScalar btTriangleRaycastCallback::m_hitFraction |
Definition at line 45 of file btRaycastCallback.h.
| btVector3 btTriangleRaycastCallback::m_to |
Definition at line 29 of file btRaycastCallback.h.


New User? By creating an account you be able to shop faster, be up to date on an order's status...
Price : $122
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Upload Image


Everyday Jo Jobs
Sign Out
Everyday Jo's for Hire
Name
First Skill
Price
Second Skill
Price
Third Skill
Price
Email
Phone
Sign In
Sign In
Email
Password
Submit
Sign Up
Click the button below to Sign Up
Sign Up


 It displays posts from the moments of your life, showcasing you and your interests.  Every month, you'll find great feature stories, celebrity profiles, pop culture reviews and sens
Lifestyle
magazinecloner.com NZ LP
Attitude Magazine.
 Redesigned for iPad, our interactive editions come with moving video covers, behind the scen
(3)
Lifestyle
Stream Publishing Limited
SilverDaddies
SilverDaddies is a meeting place for mature men and men that are genuinely attracted to mature men.
This initial version of the SilverDaddies app ena
Social Networking
Dennis Andersen
Celebrate Pride: Rainbow Your Life
Create a perfect rainbow photo to celebrate pride!

You've gotta get this app if you want to find and meet the guys you like! From bad-ass dudes of the projects to sneaker addicts, cute t
Social Networking
Studio Presse
Pride Filter
It's June again!
Use our high quality image filters to create a perfect Rainbow.
Create amazing images with just a few taps! You can add this effect
Photo & Video
DaftMobile Sp. z o.o.
Flag Filter & Picture Overlay
As Seen In Facebook Profile Pics! Get Every Flag Free For A Limited Time Only!
Instantly turn any picture into a beautiful, cool blend with your favo
(1)
Photo & Video
Journo Inc.
Coolio – Gay Dating & Chat
You can find gay guys in your area by GPS.
There are lots of items that you can set about your profile.  There are thousands of guys who have found a friend in Chatly -
Social Networking
STANISLAV RUDENKO
Genie — Gay Dating
Liking a wish in the app is used as a conversation starter and does not imply that you are obligated to grant the wish on a date.
The Genie app conta
Lifestyle
WAYD LLC
AutoFax vehicle history report
AutoFax provides peace of mind when purchasing used cars by showing detailed information (title, past usage, odometer records and accident history). Y
(45)
Shopping
LGBT Camera
Do you want to make photo with rainbow style, this is the leading application for creating images of Lgbt community.
 Por fin Gayflix congrega el mayor número de usuarios de habla hispana del mundo gratis. Por eso
Entertainment
Jorge Moran
RADR
RADR is a friend based city & travel app focused on the lgbt community. In the app you can list your favourite spots that are open-minded and welcomin
Travel
Appfocus B.V.
Radio LGBT
The best music for the world LGTBI radios, listening with one click your favorite music and completely free.
You can mark your favorite stations to l
Music
Luis Castro Rodriguez
Gay Pride Stickers Pack
This gay pride themed sticker pack has over 35 high quality images that you can use to share your pride, maybe make a big announcement or even harass
Stickers
Michael Goodman
MM en Español
MM en Español publica impresionantes fotos de los hombres y modelos los más guapos y calientes del mundo, tomadas por los mejores fotógrafos. Tambi
Magazines & Newspapers
LES EDITIONS MMENSUEL
GDating - Chat y citas gay
LA NUEVA APLICACIÓN PARA CONOCER CHICOS GAYS MÁS POPULAR.
  Straight, Gay, or in Between?
Are you confused or unsure about you
Health & Fitness
Marko Petkovic
LGBT Pride Arrasa Sticker
LGBT Days Stickers is Portuguese.
Do you want to impress your friends in Pride Month? Now you can enhance your chat with LGBT Pride Arrasa Sticker.
Ma
Stickers
Vu Quoc Hung
GAYLES.TV
Gayles.tv es una televisión online con contenidos LGBTI y Productora Audiovisual. Somos un medio de comunicación de habla hispana comprometido con l
Entertainment
mobinteg - Solucoes Empresariais de Mobilidade, Lda.
World Pride Stickers
Celebrate the Pride with this cute stickers and share this with your special friends!
Slap them into iMessages or over photos. Combine them in new an
Stickers
Jose Carlos Garcia Cubillo
Outtire
Outtire is far from just another clothing or fashion brand. We are a lifestyle and movement made to empower the LGBTQ+ community and our allies throug
Shopping
Outtire LLC
Live speed limit alerts
Real time voice alerts based on "actual" speed limits. Unlike other apps, speed limits are automatically updated for your location.  Our rainbow smiles will help you. The life is colorful, don't forget about it.
Stickers
Denis Giryaev
Gender & Sexual Signs Keyboard
Finally, LGBT signs got on iPhone & iPads! This app ships a keyboard extension covering major gender/sex signs used in LGBT & BDSM chats made in a sty
Lifestyle
Maxim Orlovsky


Angular-materialize
This is a collection of simple angular directives for using the features in materializecss.
About angular-materialize
This plugin is useful for you if you want to use the Materialize UI framework with angular.
It includes a number of directives, which makes sure that the components in materialize.js, which are mainly initialized on document ready, are handled by Angular in the right way.
So it is not a complete rewrite of Materialize. And it therefore depends on jQuery, because Materialize depends on jQuery.
The following sections are examples of the directives which are included in this plugin,
you can also use the menu to the left to see if the directive you are looking for is implemented.
Otherwise, you can suggest it to the developers
or implement it yourself.
Input-field
Materialize uses the class .input-field to manage animating labels and input-fields. But that doesn't work properly when angular dynamically creates element
Instead of adding the class input-field, use the input-field directive. This way it still works when angular dynamically creates it.
Just in Materialize, if you add the length attribute, a character-counter will appear (in the below length is set to 150).
The input
or textarea
tags has to be direct children of the element with the input-field tag.

<input type="text" ng-model="dummyInputs.inputFieldInput" length="150">
Input label

<textarea ng-model="dummyInputs.textAreaInput" class="materialize-textarea"></textarea>
Textarea

You can also use it as an element instead of an attribute.
<input-field>
<input type="text" ng-model="dummyInputs.inputFieldInput">
Input label
</input-field>
<input-field>
<textarea ng-model="dummyInputs.textAreaInput" class="materialize-textarea"></textarea>
Textarea
</input-field>
Input-date
The below example is where there are values in all the options, but all the options are optional.
The attributes min
and max
can be any value representing a date. It should be in a format recognised by Date Constructor.
The code in the HTML
Input date
<input input-date
type="text"
name="created"
id="inputCreated"
ng-model="currentTime"
container="body"
format="dd/mm/yyyy"
months-full="{{ month }}"
months-short="{{ monthShort }}"
weekdays-full="{{ weekdaysFull }}"
weekdays-short="{{ weekdaysShort }}"
weekdays-letter="{{ weekdaysLetter }}"
disable="disable"
min="{{ minDate }}"
max="{{ maxDate }}"
today="today"
clear="clear"
close="close"
select-years="15"
on-start="onStart()"
on-render="onRender()"
on-open="onOpen()"
on-close="onClose()"
on-set="onSet()"
on-stop="onStop()" />
And the JavaScript in the controller
var currentTime = new Date();
$scope.currentTime = currentTime;
$scope.month = ['Januar', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
$scope.monthShort = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
$scope.weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
$scope.weekdaysLetter = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
$scope.disable = [false, 1, 7];
$scope.today = 'Today';
$scope.clear = 'Clear';
$scope.close = 'Close';
var days = 15;
$scope.minDate = (new Date($scope.currentTime.getTime() - ( 1000 * 60 * 60 *24 * days ))).toISOString();
$scope.maxDate = (new Date($scope.currentTime.getTime() + ( 1000 * 60 * 60 *24 * days ))).toISOString();
$scope.onStart = function () {
console.log('onStart');
};
$scope.onRender = function () {
console.log('onRender');
};
$scope.onOpen = function () {
console.log('onOpen');
};
$scope.onClose = function () {
console.log('onClose');
};
$scope.onSet = function () {
console.log('onSet');
};
$scope.onStop = function () {
console.log('onStop');
};
Material select
Add the material-select as an attribute to the select where you want material-select.
Not needed if you add the class browser-default.
It doesn't support changing content within the select, add the class browser-default if you want that.
If you add the attribute watch
, then the material-select will re-initialize whenever something changes in the content within the select.
That includes if the number of list elements change.
But beware, while the implementation works, it is very heavy in computation, so tread lightly.
You selected: {{select.value1}}
<select class="" ng-model="select.value1" material-select watch>
<option ng-repeat="value in select.choices">{{value}}</option>
</select>
Using class browser-default
You selected: {{select.value2}}
<select class="browser-default" ng-model="select.value2">
<option ng-repeat="value in select.choices">{{value}}</option>
</select>
Collapsible
The collapsible below is populated using ng-repeat, just to show that it is possible. You can also just manually put in the content.
In the below, the popout class is added, which makes a "Google inbox" effect. Just remove the popout class to get a normal accordion.
Since this is just a wrapper for materializes collapsible, all their customization can be used.
If you add the attribute watch
, then the collapsible will re-initialize whenever something changes in the content within the collapsible.
That includes if the number of list elements change.
But beware, while the implementation works, it is very heavy in computation, so tread lightly.
-
{{single.title}}
{{single.content}}
The code in the HTML

{{single.title}}

{{single.content}}

And the JavaScript in the controller
$scope.collapsibleElements = [{
icon: 'mdi-image-filter-drama',
title: 'First',
content: 'Lorem ipsum dolor sit amet.'
},{
icon: 'mdi-maps-place',
title: 'Second',
content: 'Lorem ipsum dolor sit amet.'
},{
icon: 'mdi-social-whatshot',
title: 'Third',
content: 'Lorem ipsum dolor sit amet.'
}
];
Toasts
Materializes toast is a global function. Using this directive you can call a toast using a custom event (in the below click), and show a message determined by a variable in the scope.
The message is specified through the message attribute, and the duration is set though the duration attribute (defaults to 3000ms if not set).

<input id="message" type="text" ng-model="dummyInputs.message" ng-init="dummyInputs.message = 'I\'m a message'">
Message

<input id="toastDuration" type="text" ng-model="dummyInputs.duration" ng-init="dummyInputs.duration = 1000">
Toast duration

Toast!

Tooltip
The tooltipped attribute in the below makes sure that the jQuery plugin is run.
You can set attributes on the tag, matching the names of the options in the materializeCSS's version.

 Bottom
 Top
 Left
 Right

Pushpin
The pushpin
attribute allows you to pin a particular element to the top of the page.
You can use the pushpin-top
attribute to define distance in pixels from the top of the page where the element becomes fixed. The pushpin-offset
attribute can be used to offset the distance from the top. The pushpin-bottom
attribute can be used to set the distance in pixels from the top of the page where the elements stops being fixed.

Item 1

Item 2

Item 3

Item 4

Item 5

Dropdown
The dropdown attribute in the below makes sure that the jQuery plugin is run.
You can set attributes on the tag, matching the names of the options in the materializeCSS's version.

This is a dropdown

Link 1

Link 2

Link 3

Link 4

Link 5

Modals
You need a modal trigger, like the below. The trigger should have the modal directive, and the href attribute must point to the ID of the modal structure.
The modal strcture should be structured just like in materialize.
In the below example, you can change the header of the modal through the input field.

Show Modal

This is our big Tagline!

Here's our small slogan.

Left Aligned Caption

Here's our small slogan.

Right Aligned Caption

Here's our small slogan.

This is our big Tagline!

Here's our small slogan.

Media
Creating the above image with the effect is as simple as adding a class to the image tag.

Captions
It is very easy to add a short caption to your photo. Just add the caption as a data-caption
attribute.
Creating the above image with the effect is as simple as adding a class to the image tag.

Tabs
This is a very simple directive, that just calls the jQuery plugin when the element is initialized.
For the styling to work, you still need to have the class tabs
on the ul
tag
Because of the simple implementation, don't expect ng-repeat ng-model or similar to work inside the ul of the tabs (should work inside the content though).
Show/hide the below tabs

Test 1

Test 2

Test 3

Test 4

Test 1

Test 2

Test 3

Test 4

Pagination
This is only the pagination buttons, it doesn't do anything to change the page. That you'll have to do in the callback
In the below, changePage is a function defined on the controller.
<pagination
page="1"
page-size="10"
total="200"
show-prev-next="true"
dots="...."
hide-if-empty="false"
adjacent="2"
scroll-top="false"
pagination-action="changePage(page)" />


- Business Edition Features
- Email Priority Support
- Community Version Updates
It's easy! You input the sizes and materials, MaxCut does the rest! Produce optimized cutting diagrams, generate cost estimates, purchase orders and labels - it's just one click away.
Upgrade to Business Edition and get business critical features not available in the Community Edition...
Free
our gift to you :-)
$
19.95
USD
per month per user
$
200
USD
per year per user
With MaxCut we like to keep things simple - we have 2 editions of the software, with 2 feature sets.
| Feature Name | |||
|---|---|---|---|
| Presaved Library Items | |||
| Parts allowed per project | |||
| Quantities allowed per part | |||
| Material Cost vs Selling Price Comparisons | |||
| Custom Blade Thickness per Sheet Material Type | |||
| Accurate Holes & Grooving Detail for Panels | |||
| Mass change selected items by Material, Part Tag, Dimension, etc | |||
| Customize reports to include your Company Logo | |||
| MaxCut Advertising removed from all Reports/Labels | |||
| No time delayed start up screen when opening the program | |||
| Grouping and Ungrouping of items | |||
| Optimize Waste or Time to Cut | |||
| Copy / Paste to and from Excel | |||
| File Export | |||
| Calculate Edge Banding | |||
| Create Customer Proposals | |||
| Pricing Tool | |||
| Shared Materials (multi-users) | |||
| Raw Materials Import | |||
Community Edition is free and contains all the features necessary for a hobbyist or business starting out to generate accurate cutting diagrams, estimates and costings.
Business Edition is paid for and has all the features of the Community Edition and several more advanced features that are aimed at saving an established business time.
If you have a question or are experiencing an issue, please check our support center to see if your question has already been answered. If you are still not able to resolve your issue there are additional support channels listed on the support site.


The Annual Techfest of Shri Shankaracharya Engineering college offers the chance of showing your talent. The Blind Coding is one of the way of showing your coding skills in which the
code you write will be blur on the screen.
There will be no boundatin of using any specific pragramming language. You can choose language as per your own comfort.
The last date of registration is date.
The competition will be held in the computer lab of SSEC on date from time to time.
The Prizes will be given to the winner and the runner up. The participation certificate issued by SSTC will be given to all the participants.


{% extends 'peoria/base.html' %} {% block title %} Peoria Home {% endblock %} {% block body %} {% load static %}
Infrastructure is the new sexy.
Up-vote your favorite infrastructure projects.
The hottest ones are going to be our priorities.
Link Button


{% include "includes/_navbar.html" %}
{% include 'includes/_messages.html' %}
Dashboard
Welcome {{session.username}}
Speed
{% for speed in speeds %}
{{speed.speed}}
{% endfor %}
Send Warning Message