Crate mountpoint_s3_crt_sys

Crate mountpoint_s3_crt_sys 

Source

Modules§

aws_log_level
logging_shim
A small shim that the mountpoint-s3-crt crate uses to connect to a logging implementation. The CRT’s logging implementation uses varargs, but Rust hasn’t stablized those, so we need a small C trampoline to translate varargs to Rust strings.

Structs§

__BindgenBitfieldUnit
__va_list_tag
aws_allocator
aws_array_list
aws_async_input_stream
aws_async_input_stream_vtable
aws_atomic_var
struct aws_atomic_var represents an atomic variable - a value which can hold an integer or pointer that can be manipulated atomically. struct aws_atomic_vars should normally only be manipulated with atomics methods defined in this header.
aws_auth_http_system_vtable
aws_byte_buf
Represents a length-delimited binary string or buffer. If byte buffer points to constant memory or memory that should otherwise not be freed by this struct, set allocator to NULL and free function will be a no-op.
aws_byte_cursor
Represents a movable pointer within a larger binary string or buffer.
aws_cached_signing_config_aws
aws_channel
aws_channel_handler
aws_channel_handler_vtable
aws_channel_options
Args for creating a new channel. event_loop to use for IO and tasks. on_setup_completed will be invoked when the setup process is finished It will be executed in the event loop’s thread. on_shutdown_completed will be executed upon channel shutdown.
aws_channel_slot
aws_channel_task
aws_checksum_vtable
aws_client_bootstrap
aws_client_bootstrap handles creation and setup of channels that communicate via socket with a specific endpoint.
aws_client_bootstrap_options
aws_client_bootstrap creation options.
aws_cognito_identity_provider_token_pair
A (string) pair defining an identity provider and a valid login token sourced from it.
aws_credentials
aws_credentials_options
Configuration options for aws_credentials_new_with_options
aws_credentials_properties_s3express
aws_credentials_provider
A baseclass for credentials providers. A credentials provider is an object that has an asynchronous query function for retrieving AWS credentials.
aws_credentials_provider_cached_options
Configuration options for a provider that functions as a caching decorator. Credentials sourced through this provider will be cached within it until their expiration time. When the cached credentials expire, new credentials will be fetched when next queried.
aws_credentials_provider_chain_default_options
Configuration options for the default credentials provider chain.
aws_credentials_provider_chain_options
Configuration options for a provider that queries, in order, a list of providers. This provider uses the first set of credentials successfully queried. Providers are queried one at a time; a provider is not queried until the preceding provider has failed to source credentials.
aws_credentials_provider_cognito_options
Configuration options needed to create a Cognito-based Credentials Provider
aws_credentials_provider_delegate_options
Configuration options for the delegate credentials provider.
aws_credentials_provider_ecs_environment_options
aws_credentials_provider_ecs_options
aws_credentials_provider_environment_options
Configuration options for a provider that returns credentials based on environment variable values
aws_credentials_provider_imds_options
Configuration options for the provider that sources credentials from ec2 instance metadata
aws_credentials_provider_login_options
aws_credentials_provider_process_options
Configuration options for the process credentials provider
aws_credentials_provider_profile_options
Configuration options for a provider that sources credentials from the aws config and credentials files (by default ~/.aws/config and ~/.aws/credentials)
aws_credentials_provider_shutdown_options
aws_credentials_provider_sso_options
aws_credentials_provider_static_options
Configuration options for a provider that returns a fixed set of credentials
aws_credentials_provider_sts_options
Configuration options for the STS credentials provider. STS Credentials Provider will try to automatically resolve the region and use a regional STS endpoint if successful. The region resolution order is the following:
aws_credentials_provider_sts_web_identity_options
Configuration options for the STS web identity provider
aws_credentials_provider_vtable
aws_credentials_provider_x509_options
Configuration options for the X509 credentials provider
aws_crt_statistics_base
Pattern-struct that functions as a base “class” for all statistics structures. To conform to the pattern, a statistics structure must have its first member be the category. In that case it becomes “safe” to cast from aws_crt_statistics_base to the specific statistics structure based on the category value.
aws_crt_statistics_handler
Base structure for all statistics handler implementations.
aws_crt_statistics_handler_vtable
Vtable for functions that all statistics handlers must implement
aws_crt_statistics_sample_interval
The start and end time, in milliseconds-since-epoch, that a set of statistics was gathered over.
aws_date_time
aws_ecc_key_pair
aws_endpoints_parameter
aws_endpoints_request_context
aws_endpoints_resolved_endpoint
aws_endpoints_rule_engine
aws_endpoints_ruleset
aws_error_info
aws_error_info_list
aws_event_loop
aws_event_loop_group
aws_event_loop_group_options
Event loop group configuration options
aws_event_loop_local_object
aws_event_loop_options
aws_event_loop_vtable
@internal
aws_exponential_backoff_retry_options
Options for exponential backoff retry strategy. el_group must be set, any other option, if set to 0 will signify “use defaults”
aws_future_bool
aws_future See top of future.h for docs.
aws_future_http_message
aws_future<aws_http_message*>
aws_future_impl
aws_future_s3_buffer_ticket
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_size
aws_future<size_t> See top of future.h for docs.
aws_future_void
aws_future See top of future.h for docs.
aws_hash
aws_hash_element
Represents an element in the hash table. Various operations on the hash table may provide pointers to elements stored within the hash table; generally, calling code may alter value, but must not alter key (or any information used to compute key’s hash code).
aws_hash_iter
aws_hash_table
aws_hash_vtable
aws_host_address
aws_host_resolution_config
aws_host_resolver
aws_host_resolver_default_options
aws_host_resolver_purge_host_options
aws_host_resolver_vtable
should you absolutely disdain the default implementation, feel free to implement your own.
aws_http1_chunk_extension
HTTP/1.1 chunk extension for chunked encoding. Note that the underlying strings are not owned by the byte cursors.
aws_http1_chunk_options
Encoding options for an HTTP/1.1 chunked transfer encoding chunk.
aws_http1_connection_options
Options specific to HTTP/1.x connections.
aws_http2_connection_options
Options specific to HTTP/2 connections.
aws_http2_setting
aws_http2_stream_write_data_options
Encoding options for manual H2 data frame writes
aws_http_client_connection_options
Options for creating an HTTP client connection. Initialize with AWS_HTTP_CLIENT_CONNECTION_OPTIONS_INIT to set default values.
aws_http_connection
An HTTP connection. This type is used by both server-side and client-side connections. This type is also used by all supported versions of HTTP.
aws_http_connection_manager
aws_http_connection_manager_options
aws_http_connection_monitoring_options
Configuration options for connection monitoring
aws_http_header
A lightweight HTTP header struct. Note that the underlying strings are not owned by the byte cursors.
aws_http_headers
A transformable block of HTTP headers. Provides a nice API for getting/setting header names and values.
aws_http_make_request_options
Options for creating a stream which sends a request from the client and receives a response from the server.
aws_http_manager_metrics
Metrics for logging and debugging purpose.
aws_http_message
The definition for an outgoing HTTP request or response. The message may be transformed (ex: signing the request) before its data is eventually sent.
aws_http_proxy_config
aws_http_proxy_negotiator
aws_http_proxy_negotiator_forwarding_vtable
Vtable for forwarding-based proxy negotiators
aws_http_proxy_negotiator_tunnelling_vtable
Vtable for tunneling-based proxy negotiators
aws_http_proxy_options
Options for http proxy server usage
aws_http_proxy_strategy
aws_http_proxy_strategy_basic_auth_options
aws_http_proxy_strategy_tunneling_adaptive_options
aws_http_proxy_strategy_tunneling_kerberos_options
aws_http_proxy_strategy_tunneling_ntlm_options
aws_http_proxy_strategy_tunneling_sequence_options
aws_http_proxy_strategy_vtable
aws_http_request_handler_options
aws_http_stream
A stream exists for the duration of a request/response exchange. A client creates a stream to send a request and receive a response. A server creates a stream to receive a request and send a response. In http/2, a push-promise stream can be sent by a server and received by a client.
aws_http_stream_metrics
Tracing metrics for aws_http_stream. Data maybe not be available if the data of stream was never sent/received before it completes.
aws_imds_client
AWS EC2 Metadata Client is used to retrieve AWS EC2 Instance Metadata info.
aws_imds_client_options
Configuration options when creating an imds client
aws_imds_client_shutdown_options
Optional callback and user data to be invoked when an imds client has fully shut down
aws_imds_iam_profile
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html
aws_imds_instance_info
Block of per-instance EC2-specific data
aws_input_stream
Base class for input streams. Note: when you implement one input stream, the ref_count needs to be initialized to clean up the resource when reaches to zero.
aws_input_stream_vtable
aws_io_handle
aws_io_message
aws_linked_list
aws_linked_list_node
aws_log_channel
aws_log_channel_vtable
aws_log_formatter
aws_log_formatter_standard_options
aws_log_formatter_vtable
aws_log_subject_info
aws_log_subject_info_list
aws_log_writer
aws_log_writer_file_options
aws_log_writer_vtable
aws_logger
aws_logger_pipeline
aws_logger_standard_options
Options for aws_logger_init_standard(). Set filename to open a file for logging and close it when the logger cleans up. Set file to use a file that is already open, such as stderr or stdout.
aws_logger_vtable
We separate the log level function from the log call itself so that we can do the filter check in the macros (see below)
aws_logging_standard_formatting_data
aws_mutex
aws_no_retry_options
aws_parallel_input_stream
aws_partitions_config
aws_priority_queue
aws_priority_queue_node
aws_profile_collection
(Optional) Use a cached merged profile collection. A merge collection has both config file (/.aws/config) and credentials file based profile collection (/.aws/credentials) using aws_profile_collection_new_from_merge. If this option is provided, config_file_name_override and credentials_file_name_override will be ignored.
aws_ref_count
aws_retry_strategy
aws_retry_strategy_vtable
aws_retry_token
aws_s3_buffer_pool
Polymorphic buffer pool.
aws_s3_buffer_pool_config
Buffer pool configuration options.
aws_s3_buffer_pool_reserve_meta
Meta information about ticket reservation request.
aws_s3_buffer_pool_vtable
aws_s3_buffer_ticket
Generic memory pool interface. Allows consumers of aws-c-s3 to override how buffer allocation for part buffers is done. Refer to docs/memory_aware_request_execution.md for details on how default implementation works. WARNING: this is currently experimental feature and does not provide API stability guarantees so should be used with caution. At highlevel the flow is as follows:
aws_s3_buffer_ticket_vtable
aws_s3_checksum
aws_s3_checksum_config
aws_s3_client
aws_s3_client__bindgen_ty_1
aws_s3_client__bindgen_ty_2
aws_s3_client__bindgen_ty_3
aws_s3_client_config
aws_s3_client_vtable
aws_s3_connection
aws_s3_default_buffer_pool
aws_s3_default_buffer_pool_usage_stats
aws_s3_default_buffer_ticket
aws_s3_endpoint
aws_s3_endpoint__bindgen_ty_1
aws_s3_endpoint_options
aws_s3_endpoint_system_vtable
aws_s3_file_io_options
WARNING: experimental/unstable: Controls how client performance file I/O operations. Only applies to the file based workload.
aws_s3_meta_request
This represents one meta request, ie, one accelerated file transfer. One S3 meta request can represent multiple S3 requests.
aws_s3_meta_request__bindgen_ty_1
aws_s3_meta_request__bindgen_ty_2
aws_s3_meta_request__bindgen_ty_3
aws_s3_meta_request__bindgen_ty_1_aws_s3_async_write_data
aws_s3_meta_request_checksum_config_storage
aws_s3_meta_request_checksum_config_storage__bindgen_ty_1
aws_s3_meta_request_event
aws_s3_meta_request_event__bindgen_ty_1__bindgen_ty_1
aws_s3_meta_request_event__bindgen_ty_1__bindgen_ty_2
aws_s3_meta_request_event__bindgen_ty_1__bindgen_ty_3
aws_s3_meta_request_options
Options for a new meta request, ie, file transfer that will be handled by the high performance client.
aws_s3_meta_request_poll_write_result
The result of an aws_s3_meta_request_poll_write() call. Think of this like Rust’s Poll<Result<size_t, int>>, or C++’s optional<expected<size_t, int>>.
aws_s3_meta_request_progress
Information sent in the meta_request progress callback.
aws_s3_meta_request_receive_body_extra_info
aws_s3_meta_request_result
aws_s3_meta_request_resume_token
aws_s3_meta_request_vtable
aws_s3_mpu_part_info
aws_s3_platform_info
aws_s3_prepare_request_payload
aws_s3_request
aws_s3_request__bindgen_ty_1
aws_s3_request__bindgen_ty_2
aws_s3_request_metrics
Information sent in the telemetry_callback after each aws_s3_request finished/retried from meta request.
aws_s3_request_metrics__bindgen_ty_1
aws_s3_request_metrics__bindgen_ty_2
aws_s3_request_metrics__bindgen_ty_3
aws_s3_request_metrics__bindgen_ty_4
aws_s3_tcp_keep_alive_options
aws_s3_upload_part_review
Info about a single part, for you to review before the upload completes.
aws_s3_upload_part_timeout_stats
aws_s3_upload_part_timeout_stats__bindgen_ty_1
aws_s3_upload_part_timeout_stats__bindgen_ty_2
aws_s3_upload_part_timeout_stats__bindgen_ty_3
aws_s3_upload_request_checksum_context
aws_s3_upload_resume_token_options
aws_s3_upload_review
Info for you to review before an upload completes.
aws_s3express_credentials_provider
aws_server_bootstrap
aws_server_bootstrap manages listening sockets, creating and setting up channels to handle each incoming connection.
aws_server_socket_channel_bootstrap_options
Arguments to setup a server socket listener which will also negotiate and configure TLS. This creates a socket listener bound to host and ‘port’ using socket options options, and TLS options tls_options. incoming_callback will be invoked once an incoming channel is ready for use and TLS is finished negotiating, or if an error is encountered. shutdown_callback will be invoked once the channel has shutdown. destroy_callback will be invoked after the server socket listener is destroyed, and all associated connections and channels have finished shutting down. Immediately after the shutdown_callback returns, the channel is cleaned up automatically. All callbacks are invoked in the thread of the event-loop that listener is assigned to.
aws_shutdown_callback_options
Configuration for a callback to invoke when something has been completely cleaned up. Primarily used in async cleanup control flows.
aws_signable
aws_signing_config_aws
A configuration structure for use in AWS-related signing. Currently covers sigv4 only, but is not required to.
aws_signing_config_aws__bindgen_ty_1
aws_signing_config_base
All signing configuration structs must match this by having the config_type member as the first member.
aws_signing_result
aws_socket
aws_socket_channel_bootstrap_options
Socket-based channel creation options.
aws_socket_endpoint
aws_socket_options
aws_standard_retry_options
aws_stream_status
aws_string
aws_task
aws_task_scheduler
aws_task_status
aws_thread
aws_thread_options
aws_tls_connection_options
aws_tls_ctx
aws_uri
Data representing a URI. uri_str is always allocated and filled in. The other portions are merely storing offsets into uri_str.
aws_uri_builder_options
Arguments for building a URI instance. All members must be initialized before passing them to aws_uri_init().
aws_uri_param
key/value pairs for a query string. If the query fragment was not in format key=value, the fragment value will be stored in key
hash_table_state
Hash table data structure. This module provides an automatically resizing hash table implementation for general purpose use. The hash table stores a mapping between void * keys and values; it is expected that in most cases, these will point to a structure elsewhere in the heap, instead of inlining a key or value into the hash table element itself.
proxy_env_var_settings
s3_buffer_pool_block
s3_pending_reserve
s3_special_block_list

Enums§

_bindgen_ty_18
_bindgen_ty_19
_bindgen_ty_20
_bindgen_ty_21
_bindgen_ty_22
_bindgen_ty_23
aws_address_record_type
aws_auth_errors
Auth-specific error codes
aws_auth_log_subject
Auth-specific logging subjects
aws_channel_direction
aws_common_error
aws_common_log_subject
aws_crt_common_statistics_category
The common-specific range of the aws_crt_statistics_category cross-library enum.
aws_date_day_of_week
aws_date_format
aws_date_month
aws_endpoints_parameter_type
aws_endpoints_resolved_endpoint_type
aws_event_loop_type
Event Loop Type. If set to AWS_EVENT_LOOP_PLATFORM_DEFAULT, the event loop will automatically use the platform’s default.
aws_exponential_backoff_jitter_mode
Jitter mode for exponential backoff.
aws_get_host_address_flags
aws_hash_iter_status
aws_http2_error_code
aws_http2_settings_id
aws_http_errors
aws_http_header_block
Header block type. INFORMATIONAL: Header block for 1xx informational (interim) responses. MAIN: Main header block sent with request or response. TRAILING: Headers sent after the body of a request or response.
aws_http_header_compression
Controls whether a header’s strings may be compressed by encoding the index of strings in a cache, rather than encoding the literal string.
aws_http_log_subject
aws_http_proxy_authentication_type
@Deprecated - Supported proxy authentication modes. Superceded by proxy strategy.
aws_http_proxy_connection_type
Supported proxy connection types
aws_http_proxy_env_var_type
aws_http_proxy_negotiation_retry_directive
aws_http_status_code
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0.
aws_http_version
aws_imds_protocol_version
aws_io_errors
aws_io_log_subject
aws_io_message_type
aws_mem_trace_level
aws_memory_order
aws_retry_error_type
aws_s3_checksum_algorithm
aws_s3_checksum_location
aws_s3_connection_finish_code
aws_s3_errors
aws_s3_meta_request_compute_content_md5
aws_s3_meta_request_event_aws_s3_meta_request_event_type
aws_s3_meta_request_state
aws_s3_meta_request_tls_mode
aws_s3_meta_request_type
A Meta Request represents a group of generated requests that are being done on behalf of the original request. For example, one large GetObject request can be transformed into a series of ranged GetObject requests that are executed in parallel to improve throughput.
aws_s3_meta_request_update_flags
aws_s3_recv_file_options
aws_s3_request_flags
aws_s3_request_type
The type of a single S3 HTTP request. Used by metrics. A meta-request can make multiple S3 HTTP requests under the hood.
aws_s3_subject
aws_sdkutils_errors
aws_sdkutils_log_subject
aws_signature_type
What sort of signature should be computed from the signable?
aws_signed_body_header_type
Controls if signing adds a header containing the canonical request’s body value
aws_signing_algorithm
What version of the AWS signing process should we use.
aws_signing_config_type
A primitive RTTI indicator for signing configuration structs
aws_stream_seek_basis
aws_thread_detach_state
aws_thread_join_strategy
Specifies the join strategy used on an aws_thread, which in turn controls whether or not a thread participates in the managed thread system. The managed thread system provides logic to guarantee a join on all participating threads at the cost of laziness (the user cannot control when joins happen).

Constants§

AWS_ARRAY_LIST_DEBUG_FILL
AWS_CACHE_LINE
AWS_COMMON_HASH_TABLE_ITER_CONTINUE
AWS_COMMON_HASH_TABLE_ITER_DELETE
AWS_COMMON_HASH_TABLE_ITER_ERROR
AWS_CRT_STATISTICS_CATEGORY_STRIDE_BITS
AWS_C_AUTH_PACKAGE_ID
AWS_C_COMMON_PACKAGE_ID
AWS_C_HTTP_PACKAGE_ID
AWS_C_IO_PACKAGE_ID
AWS_C_S3_PACKAGE_ID
AWS_C_SDKUTILS_PACKAGE_ID
AWS_DATE_TIME_STR_MAX_BASIC_LEN
AWS_DATE_TIME_STR_MAX_LEN
AWS_ERROR_ENUM_STRIDE
AWS_ERROR_ENUM_STRIDE_BITS
AWS_HTTP2_DEFAULT_MAX_CLOSED_STREAMS
AWS_HTTP2_PING_DATA_SIZE
AWS_HTTP2_SETTINGS_COUNT
AWS_LOG_LEVEL_DEBUG
AWS_LOG_LEVEL_ERROR
AWS_LOG_LEVEL_FATAL
AWS_LOG_LEVEL_INFO
AWS_LOG_LEVEL_NONE
AWS_LOG_LEVEL_TRACE
AWS_LOG_LEVEL_WARN
AWS_LOG_SUBJECT_STRIDE_BITS
AWS_MD5_LEN
AWS_OP_ERR
AWS_OP_SUCCESS
AWS_PACKAGE_SLOTS
AWS_S3_CLIENT_VERSION
AWS_SHA1_LEN
AWS_SHA256_LEN
AWS_SHA512_LEN
AWS_THREAD_NAME_RECOMMENDED_STRLEN
AWS_THREAD_ONCE_STATIC_INIT
PRInSTR
SIZE_BITS

Statics§

aws_http_header_authority
aws_http_header_method
aws_http_header_path
aws_http_header_scheme
aws_http_header_status
aws_http_method_connect
aws_http_method_delete
aws_http_method_get
Shortcuts for common HTTP request methods
aws_http_method_head
aws_http_method_options
aws_http_method_post
aws_http_method_put
aws_http_scheme_http
aws_http_scheme_https
aws_sts_assume_role_default_duration_secs
g_aws_channel_max_fragment_size
g_aws_credentials_provider_http_function_table
g_aws_signed_body_value_empty_sha256
The SHA-256 of an empty string: ‘e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_streaming_aws4_ecdsa_p256_sha256_payload
‘STREAMING-AWS4-ECDSA-P256-SHA256-PAYLOAD’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_streaming_aws4_ecdsa_p256_sha256_payload_trailer
‘STREAMING-AWS4-ECDSA-P256-SHA256-PAYLOAD-TRAILER’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_streaming_aws4_hmac_sha256_events
‘STREAMING-AWS4-HMAC-SHA256-EVENTS’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_streaming_aws4_hmac_sha256_payload
‘STREAMING-AWS4-HMAC-SHA256-PAYLOAD’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_streaming_aws4_hmac_sha256_payload_trailer
‘STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_streaming_unsigned_payload_trailer
‘STREAMING-UNSIGNED-PAYLOAD-TRAILER’ For use with aws_signing_config_aws.signed_body_value.
g_aws_signed_body_value_unsigned_payload
‘UNSIGNED-PAYLOAD’ For use with aws_signing_config_aws.signed_body_value.
g_expect_timeout_offset_ms
g_min_num_connections
g_pipeline_logger_owned_vtable
s_checksum_algo_priority_list

Functions§

aws_add_size_checked
Adds a + b and returns the result in *r. If the result overflows, returns AWS_OP_ERR; otherwise returns AWS_OP_SUCCESS.
aws_add_size_checked_varargs
Adds [num] arguments (expected to be of size_t), and returns the result in *r. If the result overflows, returns AWS_OP_ERR; otherwise returns AWS_OP_SUCCESS.
aws_add_size_saturating
Adds a + b. If the result overflows returns SIZE_MAX.
aws_add_u32_checked
If a + b overflows, returns AWS_OP_ERR; otherwise adds a + b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_add_u32_saturating
Adds a + b. If the result overflows returns 2^32 - 1.
aws_add_u64_checked
If a + b overflows, returns AWS_OP_ERR; otherwise adds a + b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_add_u64_saturating
Adds a + b. If the result overflows returns 2^64 - 1.
aws_aligned_allocator
aws_allocator_is_valid
Inexpensive (constant time) check of data-structure invariants.
aws_array_eq
Compare two arrays. Return whether their contents are equivalent. NULL may be passed as the array pointer if its length is declared to be 0.
aws_array_eq_c_str
Compare an array and a null-terminated string. Returns true if their contents are equivalent. The array should NOT contain a null-terminator, or the comparison will always return false. NULL may be passed as the array pointer if its length is declared to be 0.
aws_array_eq_c_str_ignore_case
Perform a case-insensitive string comparison of an array and a null-terminated string. Return whether their contents are equivalent. The array should NOT contain a null-terminator, or the comparison will always return false. NULL may be passed as the array pointer if its length is declared to be 0. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_array_eq_ignore_case
Perform a case-insensitive string comparison of two arrays. Return whether their contents are equivalent. NULL may be passed as the array pointer if its length is declared to be 0. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_array_list_back
Copies the element at the end of the list if it exists. If list is empty, AWS_ERROR_LIST_EMPTY will be raised.
aws_array_list_capacity
Returns the number of elements that can fit in the internal array. If list is initialized in dynamic mode, the capacity changes over time.
aws_array_list_clean_up
Deallocates any memory that was allocated for this list, and resets list for reuse or deletion.
aws_array_list_clean_up_secure
Erases and then deallocates any memory that was allocated for this list, and resets list for reuse or deletion.
aws_array_list_clear
Clears all elements in the array and resets length to zero. Size does not change in this operation.
aws_array_list_comparator_string
A convenience function for sorting lists of (const struct aws_string *) elements. This can be used as a comparator for aws_array_list_sort. It is just a simple wrapper around aws_string_compare.
aws_array_list_copy
Copies the elements from from to to. If to is in static mode, it must at least be the same length as from. Any data in to will be overwritten in this copy.
aws_array_list_ensure_capacity
Ensures that the array list has enough capacity to store a value at the specified index. If there is not already enough capacity, and the list is in dynamic mode, this function will attempt to allocate more memory, expanding the list. In static mode, if ‘index’ is beyond the maximum index, AWS_ERROR_INVALID_INDEX will be raised.
aws_array_list_erase
Deletes the element this index in the list if it exists. If element does not exist, AWS_ERROR_INVALID_INDEX will be raised. This call results in shifting all remaining elements towards the front. Avoid this call unless that is intended behavior.
aws_array_list_front
Copies the element at the front of the list if it exists. If list is empty, AWS_ERROR_LIST_EMPTY will be raised
aws_array_list_get_at
Copies the memory at index to val. If element does not exist, AWS_ERROR_INVALID_INDEX will be raised.
aws_array_list_get_at_ptr
Copies the memory address of the element at index to *val. If element does not exist, AWS_ERROR_INVALID_INDEX will be raised.
aws_array_list_init_dynamic
Initializes an array list with an array of size initial_item_allocation * item_size. In this mode, the array size will grow by a factor of 2 upon insertion if space is not available. initial_item_allocation is the number of elements you want space allocated for. item_size is the size of each element in bytes. Mixing items types is not supported by this API.
aws_array_list_init_static
Initializes an array list with a preallocated array of void *. item_count is the number of elements in the array, and item_size is the size in bytes of each element. Mixing items types is not supported by this API. Once this list is full, new items will be rejected.
aws_array_list_init_static_from_initialized
Initializes an array list with a preallocated array of already-initialized elements. item_count is the number of elements in the array, and item_size is the size in bytes of each element.
aws_array_list_is_valid
Set of properties of a valid aws_array_list.
aws_array_list_length
Returns the number of elements in the internal array.
aws_array_list_pop_back
Deletes the element at the end of the list if it exists. If list is empty, AWS_ERROR_LIST_EMPTY will be raised.
aws_array_list_pop_front
Deletes the element at the front of the list if it exists. If list is empty, AWS_ERROR_LIST_EMPTY will be raised. This call results in shifting all of the elements at the end of the array to the front. Avoid this call unless that is intended behavior.
aws_array_list_pop_front_n
Delete N elements from the front of the list. Remaining elements are shifted to the front of the list. If the list has less than N elements, the list is cleared. This call is more efficient than calling aws_array_list_pop_front() N times.
aws_array_list_push_back
Pushes the memory pointed to by val onto the end of internal list
aws_array_list_push_front
Pushes the memory pointed to by val onto the front of internal list. This call results in shifting all of the elements in the list. Avoid this call unless that is intended behavior.
aws_array_list_set_at
Copies the the memory pointed to by val into the array at index. If in dynamic mode, the size will grow by a factor of two when the array is full. In static mode, AWS_ERROR_INVALID_INDEX will be raised if the index is past the bounds of the array.
aws_array_list_shrink_to_fit
If in dynamic mode, shrinks the allocated array size to the minimum amount necessary to store its elements.
aws_array_list_sort
Sort elements in the list in-place according to the comparator function.
aws_array_list_swap
Swap elements at the specified indices, which must be within the bounds of the array.
aws_array_list_swap_contents
Swap contents between two dynamic lists. Both lists must use the same allocator.
aws_async_input_stream_acquire
Increment reference count. You may pass in NULL (has no effect). Returns whatever pointer was passed in.
aws_async_input_stream_init_base
Initialize aws_async_input_stream “base class”
aws_async_input_stream_read
Read once from the async stream into the buffer. The read completes when at least 1 byte is read, the buffer is full, or EOF is reached. Depending on implementation, the read could complete at any time. It may complete synchronously. It may complete on another thread. Returns a future, which will contain an error code if something went wrong, or a result bool indicating whether EOF has been reached.
aws_async_input_stream_read_to_fill
Read repeatedly from the async stream until the buffer is full, or EOF is reached. Depending on implementation, this could complete at any time. It may complete synchronously. It may complete on another thread. Returns a future, which will contain an error code if something went wrong, or a result bool indicating whether EOF has been reached.
aws_async_input_stream_release
Decrement reference count. You may pass in NULL (has no effect). Always returns NULL.
aws_atomic_compare_exchange_int
Atomically compares *var to *expected; if they are equal, atomically sets *var = desired. Otherwise, *expected is set to the value in *var. Uses sequentially consistent memory ordering, regardless of success or failure. Returns true if the compare was successful and the variable updated to desired.
aws_atomic_compare_exchange_int_explicit
Atomically compares *var to *expected; if they are equal, atomically sets *var = desired. Otherwise, *expected is set to the value in *var. On success, the memory ordering used was order_success; otherwise, it was order_failure. order_failure must be no stronger than order_success, and must not be release or acq_rel. Returns true if the compare was successful and the variable updated to desired.
aws_atomic_compare_exchange_ptr
Atomically compares *var to *expected; if they are equal, atomically sets *var = desired. Otherwise, *expected is set to the value in *var. Uses sequentially consistent memory ordering, regardless of success or failure. Returns true if the compare was successful and the variable updated to desired.
aws_atomic_compare_exchange_ptr_explicit
Atomically compares *var to *expected; if they are equal, atomically sets *var = desired. Otherwise, *expected is set to the value in *var. On success, the memory ordering used was order_success; otherwise, it was order_failure. order_failure must be no stronger than order_success, and must not be release or acq_rel. Returns true if the compare was successful and the variable updated to desired.
aws_atomic_exchange_int
Exchanges an integer with the value in an atomic_var, using sequentially consistent ordering. Returns the value that was previously in the atomic_var.
aws_atomic_exchange_int_explicit
Exchanges an integer with the value in an atomic_var, using the specified ordering. Returns the value that was previously in the atomic_var.
aws_atomic_exchange_ptr
Exchanges an integer with the value in an atomic_var, using sequentially consistent ordering. Returns the value that was previously in the atomic_var.
aws_atomic_exchange_ptr_explicit
Exchanges a pointer with the value in an atomic_var, using the specified ordering. Returns the value that was previously in the atomic_var.
aws_atomic_fetch_add
Atomically adds n to *var, and returns the previous value of *var. Uses sequentially consistent ordering.
aws_atomic_fetch_add_explicit
Atomically adds n to *var, and returns the previous value of *var.
aws_atomic_fetch_and
Atomically ands n into *var, and returns the previous value of *var. Uses sequentially consistent ordering.
aws_atomic_fetch_and_explicit
Atomically ANDs n with *var, and returns the previous value of *var.
aws_atomic_fetch_or
Atomically ors n into *var, and returns the previous value of *var. Uses sequentially consistent ordering.
aws_atomic_fetch_or_explicit
Atomically ORs n with *var, and returns the previous value of *var.
aws_atomic_fetch_sub
Atomically subtracts n from *var, and returns the previous value of *var. Uses sequentially consistent ordering.
aws_atomic_fetch_sub_explicit
Atomically subtracts n from *var, and returns the previous value of *var.
aws_atomic_fetch_xor
Atomically xors n into *var, and returns the previous value of *var. Uses sequentially consistent ordering.
aws_atomic_fetch_xor_explicit
Atomically XORs n with *var, and returns the previous value of *var.
aws_atomic_init_int
Initializes an atomic variable with an integer value. This operation should be done before any other operations on this atomic variable, and must be done before attempting any parallel operations.
aws_atomic_init_ptr
Initializes an atomic variable with a pointer value. This operation should be done before any other operations on this atomic variable, and must be done before attempting any parallel operations.
aws_atomic_load_int
Reads an atomic var as an integer, using sequentially consistent ordering, and returns the result.
aws_atomic_load_int_explicit
Reads an atomic var as an integer, using the specified ordering, and returns the result.
aws_atomic_load_ptr
Reads an atomic var as a pointer, using sequentially consistent ordering, and returns the result.
aws_atomic_load_ptr_explicit
Reads an atomic var as a pointer, using the specified ordering, and returns the result.
aws_atomic_store_int
Stores an integer into an atomic var, using sequentially consistent ordering.
aws_atomic_store_int_explicit
Stores an integer into an atomic var, using the specified ordering.
aws_atomic_store_ptr
Stores a pointer into an atomic var, using sequentially consistent ordering.
aws_atomic_store_ptr_explicit
Stores a pointer into an atomic var, using the specified ordering.
aws_atomic_thread_fence
Provides the same reordering guarantees as an atomic operation with the specified memory order, without needing to actually perform an atomic operation.
aws_auth_library_clean_up
Clean up internal datastructures used by aws-c-auth. Must not be called until application is done using functionality in aws-c-auth.
aws_auth_library_init
Initializes internal datastructures used by aws-c-auth. Must be called before using any functionality in aws-c-auth.
aws_byte_buf_advance
Appends a sub-buffer to the specified buffer.
aws_byte_buf_append
Copies from to to. If to is too small, AWS_ERROR_DEST_COPY_TOO_SMALL will be returned. dest->len will contain the amount of data actually copied to dest.
aws_byte_buf_append_and_update
Copy contents of cursor to buffer, then update cursor to reference the memory stored in the buffer. If buffer is too small, AWS_ERROR_DEST_COPY_TOO_SMALL will be returned.
aws_byte_buf_append_byte_dynamic
Copies a single byte into to. If to is too small, the buffer will be grown appropriately and the old contents copied over, before the byte is appended.
aws_byte_buf_append_byte_dynamic_secure
Copies a single byte into to. If to is too small, the buffer will be grown appropriately and the old contents copied over, before the byte is appended.
aws_byte_buf_append_decoding_uri
Writes the uri decoding of a UTF-8 cursor to a buffer, replacing %xx escapes by their single byte equivalent. For example, reading “a%20b_c” would write “a b_c”.
aws_byte_buf_append_dynamic
Copies from to to. If to is too small, the buffer will be grown appropriately and the old contents copied to, before the new contents are appended.
aws_byte_buf_append_dynamic_secure
Copies from to to. If to is too small, the buffer will be grown appropriately and the old contents copied over, before the new contents are appended.
aws_byte_buf_append_encoding_uri_param
Writes the uri query param encoding (passthrough alnum + ‘-’ ‘_’ ‘~’ ‘.’) of a UTF-8 cursor to a buffer For example, reading “a b_c” would write “a%20b_c”.
aws_byte_buf_append_encoding_uri_path
Writes the uri path encoding of a cursor to a buffer. This is the modified version of rfc3986 used by sigv4 signing.
aws_byte_buf_append_null_terminator
Appends ‘\0’ at the end of the buffer.
aws_byte_buf_append_with_lookup
Copies from to to while converting bytes via the passed in lookup table. If to is too small, AWS_ERROR_DEST_COPY_TOO_SMALL will be returned. to->len will contain its original size plus the amount of data actually copied to to.
aws_byte_buf_cat
Concatenates a variable number of struct aws_byte_buf * into destination. Number of args must be greater than 1. If dest is too small, AWS_ERROR_DEST_COPY_TOO_SMALL will be returned. dest->len will contain the amount of data actually copied to dest.
aws_byte_buf_clean_up
aws_byte_buf_clean_up_secure
Equivalent to calling aws_byte_buf_secure_zero and then aws_byte_buf_clean_up on the buffer.
aws_byte_buf_eq
Compare two aws_byte_buf structures. Return whether their contents are equivalent.
aws_byte_buf_eq_c_str
Compare an aws_byte_buf and a null-terminated string. Returns true if their contents are equivalent. The buffer should NOT contain a null-terminator, or the comparison will always return false.
aws_byte_buf_eq_c_str_ignore_case
Perform a case-insensitive string comparison of an aws_byte_buf and a null-terminated string. Return whether their contents are equivalent. The buffer should NOT contain a null-terminator, or the comparison will always return false. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_byte_buf_eq_ignore_case
Perform a case-insensitive string comparison of two aws_byte_buf structures. Return whether their contents are equivalent. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_byte_buf_from_array
aws_byte_buf_from_c_str
For creating a byte buffer from a null-terminated string literal.
aws_byte_buf_from_empty_array
aws_byte_buf_init
aws_byte_buf_init_cache_and_update_cursors
Init buffer with contents of multiple cursors, and update cursors to reference the memory stored in the buffer. Each cursor arg must be an struct aws_byte_cursor *. NULL must be passed as the final arg. NOTE: Do not append/grow/resize buffers initialized this way, or the cursors will end up referencing invalid memory. Returns AWS_OP_SUCCESS in case of success. AWS_OP_ERR is returned if memory can’t be allocated or the total cursor length exceeds SIZE_MAX.
aws_byte_buf_init_copy
Initializes an aws_byte_buf structure base on another valid one. Requires: *src and *allocator are valid objects. Ensures: *dest is a valid aws_byte_buf with a new backing array dest->buffer which is a copy of the elements from src->buffer.
aws_byte_buf_init_copy_from_cursor
Copies src buffer into dest and sets the correct len and capacity. A new memory zone is allocated for dest->buffer. When dest is no longer needed it will have to be cleaned-up using aws_byte_buf_clean_up(dest). Dest capacity and len will be equal to the src len. Allocator of the dest will be identical with parameter allocator. If src buffer is null the dest will have a null buffer with a len and a capacity of 0 Returns AWS_OP_SUCCESS in case of success or AWS_OP_ERR when memory can’t be allocated.
aws_byte_buf_init_from_file
Reads ‘filename’ into ‘out_buf’. If successful, ‘out_buf’ is allocated and filled with the data; It is your responsibility to call ‘aws_byte_buf_clean_up()’ on it. Otherwise, ‘out_buf’ remains unused. In the very unfortunate case where some API needs to treat out_buf as a c_string, a null terminator is appended, but is not included as part of the length field.
aws_byte_buf_init_from_file_with_size_hint
Same as aws_byte_buf_init_from_file(), but for reading “special files” like /proc/cpuinfo. These files don’t accurately report their size, so size_hint is used as initial buffer size, and the buffer grows until the while file is read.
aws_byte_buf_is_valid
Evaluates the set of properties that define the shape of all valid aws_byte_buf structures. It is also a cheap check, in the sense it run in constant time (i.e., no loops or recursion).
aws_byte_buf_reserve
Attempts to increase the capacity of a buffer to the requested capacity
aws_byte_buf_reserve_relative
Convenience function that attempts to increase the capacity of a buffer relative to the current length.
aws_byte_buf_reset
Resets the len of the buffer to 0, but does not free the memory. The buffer can then be reused. Optionally zeroes the contents, if the “zero_contents” flag is true.
aws_byte_buf_secure_zero
Sets all bytes of buffer to zero and resets len to zero.
aws_byte_buf_write
Write specified number of bytes from array to byte buffer.
aws_byte_buf_write_be16
Writes a 16-bit integer in network byte order (big endian) to buffer.
aws_byte_buf_write_be24
Writes low 24-bits (3 bytes) of an unsigned integer in network byte order (big endian) to buffer. Ex: If x is 0x00AABBCC then {0xAA, 0xBB, 0xCC} is written to buffer.
aws_byte_buf_write_be32
Writes a 32-bit integer in network byte order (big endian) to buffer.
aws_byte_buf_write_be64
Writes a 64-bit integer in network byte order (big endian) to buffer.
aws_byte_buf_write_float_be32
Writes a 32-bit float in network byte order (big endian) to buffer.
aws_byte_buf_write_float_be64
Writes a 64-bit float in network byte order (big endian) to buffer.
aws_byte_buf_write_from_whole_buffer
Copies all bytes from buffer to buffer.
aws_byte_buf_write_from_whole_cursor
Copies all bytes from buffer to buffer.
aws_byte_buf_write_from_whole_string
Copies all bytes from string to buf.
aws_byte_buf_write_to_capacity
Without increasing buf’s capacity, write as much as possible from advancing_cursor into buf.
aws_byte_buf_write_u8
Copies one byte to buffer.
aws_byte_buf_write_u8_n
Writes one byte repeatedly to buffer (like memset)
aws_byte_cursor_advance
Tests if the given aws_byte_cursor has at least len bytes remaining. If so, *buf is advanced by len bytes (incrementing ->ptr and decrementing ->len), and an aws_byte_cursor referring to the first len bytes of the original *buf is returned. Otherwise, an aws_byte_cursor with ->ptr = NULL, ->len = 0 is returned.
aws_byte_cursor_advance_nospec
Behaves identically to aws_byte_cursor_advance, but avoids speculative execution potentially reading out-of-bounds pointers (by returning an empty ptr in such speculated paths).
aws_byte_cursor_compare_lexical
Lexical (byte value) comparison of two byte cursors
aws_byte_cursor_compare_lookup
Lexical (byte value) comparison of two byte cursors where the raw values are sent through a lookup table first
aws_byte_cursor_eq
Compare two aws_byte_cursor structures. Return whether their contents are equivalent.
aws_byte_cursor_eq_byte_buf
Compare an aws_byte_cursor and an aws_byte_buf. Return whether their contents are equivalent.
aws_byte_cursor_eq_byte_buf_ignore_case
Perform a case-insensitive string comparison of an aws_byte_cursor and an aws_byte_buf. Return whether their contents are equivalent. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_byte_cursor_eq_c_str
Compare an aws_byte_cursor and a null-terminated string. Returns true if their contents are equivalent. The cursor should NOT contain a null-terminator, or the comparison will always return false.
aws_byte_cursor_eq_c_str_ignore_case
Perform a case-insensitive string comparison of an aws_byte_cursor and a null-terminated string. Return whether their contents are equivalent. The cursor should NOT contain a null-terminator, or the comparison will always return false. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_byte_cursor_eq_ignore_case
Perform a case-insensitive string comparison of two aws_byte_cursor structures. Return whether their contents are equivalent. The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_byte_cursor_find_exact
Search for an exact byte match inside a cursor. The first match will be returned. Returns AWS_OP_SUCCESS on successful match and first_find will be set to the offset in input_str, and length will be the remaining length from input_str past the returned offset. If the match was not found, AWS_OP_ERR will be returned and AWS_ERROR_STRING_MATCH_NOT_FOUND will be raised.
aws_byte_cursor_from_array
aws_byte_cursor_from_buf
aws_byte_cursor_from_c_str
aws_byte_cursor_from_string
Creates an aws_byte_cursor from an existing string. If the src is NULL, it returns an empty cursor
aws_byte_cursor_is_valid
Evaluates the set of properties that define the shape of all valid aws_byte_cursor structures. It is also a cheap check, in the sense it runs in constant time (i.e., no loops or recursion).
aws_byte_cursor_left_trim_pred
Shrinks a byte cursor from the left for as long as the supplied predicate is true
aws_byte_cursor_next_split
No copies, no buffer allocations. Iterates over input_str, and returns the next substring between split_on instances relative to previous substr. Behaves similar to strtok with substr being used as state for next split.
aws_byte_cursor_read
Reads specified length of data from byte cursor and copies it to the destination array.
aws_byte_cursor_read_and_fill_buffer
Reads as many bytes from cursor as size of buffer, and copies them to buffer.
aws_byte_cursor_read_be16
Reads a 16-bit value in network byte order from cur, and places it in host byte order into var.
aws_byte_cursor_read_be24
Reads an unsigned 24-bit value (3 bytes) in network byte order from cur, and places it in host byte order into 32-bit var. Ex: if cur’s next 3 bytes are {0xAA, 0xBB, 0xCC}, then var becomes 0x00AABBCC.
aws_byte_cursor_read_be32
Reads a 32-bit value in network byte order from cur, and places it in host byte order into var.
aws_byte_cursor_read_be64
Reads a 64-bit value in network byte order from cur, and places it in host byte order into var.
aws_byte_cursor_read_float_be32
Reads a 32-bit value in network byte order from cur, and places it in host byte order into var.
aws_byte_cursor_read_float_be64
Reads a 64-bit value in network byte order from cur, and places it in host byte order into var.
aws_byte_cursor_read_hex_u8
Reads 2 hex characters from ASCII/UTF-8 text to produce an 8-bit number. Accepts both lowercase ‘a’-‘f’ and uppercase ‘A’-‘F’. For example: “0F” produces 15.
aws_byte_cursor_read_u8
Reads a single byte from cursor, placing it in *var.
aws_byte_cursor_right_trim_pred
Shrinks a byte cursor from the right for as long as the supplied predicate is true
aws_byte_cursor_satisfies_pred
Returns true if the byte cursor’s range of bytes all satisfy the predicate
aws_byte_cursor_split_on_char
No copies, no buffer allocations. Fills in output with a list of aws_byte_cursor instances where buffer is an offset into the input_str and len is the length of that string in the original buffer.
aws_byte_cursor_split_on_char_n
No copies, no buffer allocations. Fills in output with a list of aws_byte_cursor instances where buffer is an offset into the input_str and len is the length of that string in the original buffer. N is the max number of splits, if this value is zero, it will add all splits to the output.
aws_byte_cursor_starts_with
Return true if the input starts with the prefix (exact byte comparison).
aws_byte_cursor_starts_with_ignore_case
Return true if the input starts with the prefix (case-insensitive). The “C” locale is used for comparing upper and lowercase letters. Data is assumed to be ASCII text, UTF-8 will work fine too.
aws_byte_cursor_trim_pred
Shrinks a byte cursor from both sides for as long as the supplied predicate is true
aws_byte_cursor_utf8_parse_u64
Read entire cursor as ASCII/UTF-8 unsigned base-10 number. Stricter than strtoull(), which allows whitespace and inputs that start with “0x”
aws_byte_cursor_utf8_parse_u64_hex
Read entire cursor as ASCII/UTF-8 unsigned base-16 number with NO “0x” prefix.
aws_c_string_is_valid
Best-effort checks aws_string invariants, when the str->len is unknown
aws_channel_acquire_hold
Prevent a channel’s memory from being freed. Any number of users may acquire a hold to prevent a channel and its handlers from being unexpectedly freed. Any user which acquires a hold must release it via aws_channel_release_hold(). Memory will be freed once all holds are released and aws_channel_destroy() has been called.
aws_channel_acquire_message_from_pool
Acquires a message from the event loop’s message pool. size_hint is merely a hint, it may be smaller than you requested and you are responsible for checking the bounds of it. If the returned message is not large enough, you must send multiple messages. This cannot fail, it never returns NULL.
aws_channel_current_clock_time
Fetches the current timestamp from the event-loop’s clock, in nanoseconds.
aws_channel_destroy
Mark the channel, along with all slots and handlers, for destruction. Must be called after shutdown has completed. Can be called from any thread assuming ‘aws_channel_shutdown()’ has completed. Note that memory will not be freed until all users which acquired holds on the channel via aws_channel_acquire_hold(), release them via aws_channel_release_hold().
aws_channel_fetch_local_object
Retrieves an object by key from the event loop’s local storage.
aws_channel_get_event_loop
Fetches the event loop the channel is a part of.
aws_channel_get_first_slot
aws_channel_handler_destroy
Calls destroy on handler’s vtable
aws_channel_handler_increment_read_window
Calls on_window_update on handler’s vtable.
aws_channel_handler_initial_window_size
Calls initial_window_size on handler’s vtable.
aws_channel_handler_process_read_message
Calls process_read_message on handler’s vtable
aws_channel_handler_process_write_message
Calls process_write_message on handler’s vtable.
aws_channel_handler_shutdown
calls shutdown_direction on handler’s vtable.
aws_channel_new
Allocates new channel, Unless otherwise specified all functions for channels and channel slots must be executed within that channel’s event-loop’s thread. channel_options are copied.
aws_channel_put_local_object
Stores an object by key in the event loop’s local storage.
aws_channel_release_hold
Release a hold on the channel’s memory, allowing it to be freed. This may be called before or after aws_channel_destroy().
aws_channel_remove_local_object
Removes an object by key from the event loop’s local storage.
aws_channel_schedule_task_future
Schedules a task to run on the event loop at the specified time. This is the ideal way to move a task into the correct thread. It’s also handy for context switches. Use aws_channel_current_clock_time() to get the current time in nanoseconds. This function is safe to call from any thread.
aws_channel_schedule_task_now
Schedules a task to run on the event loop as soon as possible. This is the ideal way to move a task into the correct thread. It’s also handy for context switches. This function is safe to call from any thread.
aws_channel_schedule_task_now_serialized
Schedules a task to run on the event loop as soon as possible.
aws_channel_set_statistics_handler
Instrument a channel with a statistics handler. While instrumented with a statistics handler, the channel will periodically report per-channel-handler-specific statistics about handler performance and state.
aws_channel_shutdown
Initiates shutdown of the channel. Shutdown will begin with the left-most slot. Each handler will invoke ‘aws_channel_slot_on_handler_shutdown_complete’ once they’ve finished their shutdown process for the read direction. Once the right-most slot has shutdown in the read direction, the process will start shutting down starting on the right-most slot. Once the left-most slot has shutdown in the write direction, ‘callbacks->shutdown_completed’ will be invoked in the event loop’s thread.
aws_channel_slot_acquire_max_message_for_write
Convenience function that invokes aws_channel_acquire_message_from_pool(), asking for the largest reasonable DATA message that can be sent in the write direction, with upstream overhead accounted for. This cannot fail, it never returns NULL.
aws_channel_slot_downstream_read_window
Fetches the downstream read window. This gives you the information necessary to honor the read window. If you call send_message() and it exceeds this window, the message will be rejected.
aws_channel_slot_increment_read_window
Issues a window update notification upstream (to the left.)
aws_channel_slot_insert_end
Inserts to ‘to_add’ the end of the channel. Note that the first call to aws_channel_slot_new() adds it to the channel implicitly.
aws_channel_slot_insert_left
inserts ‘to_add’ to the position immediately to the left of slot. Note that the first call to aws_channel_slot_new() adds it to the channel implicitly.
aws_channel_slot_insert_right
inserts ‘to_add’ to the position immediately to the right of slot. Note that the first call to aws_channel_slot_new() adds it to the channel implicitly.
aws_channel_slot_new
Allocates and initializes a new slot for use with the channel. If this is the first slot in the channel, it will automatically be added to the channel as the first slot. For all subsequent calls on a given channel, the slot will need to be added to the channel via. the aws_channel_slot_insert_right(), aws_channel_slot_insert_end(), and aws_channel_slot_insert_left() APIs.
aws_channel_slot_on_handler_shutdown_complete
Called by handlers once they have finished their shutdown in the ‘dir’ direction. Propagates the shutdown process to the next handler in the channel.
aws_channel_slot_remove
Removes slot from the channel and deallocates the slot and its handler.
aws_channel_slot_replace
Replaces remove with new_slot. Deallocates remove and its handler.
aws_channel_slot_send_message
Sends a message to the adjacent slot in the channel based on dir. Also does window size checking.
aws_channel_slot_set_handler
Sets the handler for a slot, the slot will also call get_current_window_size() and propagate a window update upstream.
aws_channel_slot_shutdown
Initiates shutdown on slot. callbacks->on_shutdown_completed will be called once the shutdown process is completed.
aws_channel_slot_upstream_message_overhead
Fetches the current overhead of upstream handlers. This provides a hint to avoid fragmentation if you care.
aws_channel_task_init
Initializes channel_task for use.
aws_channel_thread_is_callers_thread
Returns true if the caller is on the event loop’s thread. If false, you likely need to use aws_channel_schedule_task(). This function is safe to call from any thread.
aws_channel_trigger_read
A way for external processes to force a read by the data-source channel handler. Necessary in certain cases, like when a server channel finishes setting up its initial handlers, a read may have already been triggered on the socket (the client’s CLIENT_HELLO tls payload, for example) and absent further data/notifications, this data would never get processed.
aws_char_is_space
Evaluates if a char is a white character.
aws_checksum_compute
Compute an aws_checksum corresponding to the provided enum, passing a function pointer around instead of using a conditional would be faster, but would be a negligible improvement compared to the cost of processing data twice which would be the only time this function would be used, and would be harder to follow.
aws_checksum_destroy
Cleans up and deallocates checksum.
aws_checksum_finalize
Completes the checksum computation and writes the final digest to output. Allocation of output is the caller’s responsibility.
aws_checksum_new
create a new aws_checksum corresponding to the aws_s3_checksum_algorithm enum value.
aws_checksum_stream_finalize_checksum
Finalize the checksum has read so far to the output checksum buf with base64 encoding. Not thread safe.
aws_checksum_stream_new
Helper stream that takes in a stream to keep track of the checksum of the underlying stream during read. Invoke aws_checksum_stream_finalize_checksum to get the checksum of the data has been read so far.
aws_checksum_stream_new_with_context
Helper stream that takes in a stream and the checksum context to help finalize the checksum from the underlying stream. The context will be only finalized when the checksum stream has read to the end of stream.
aws_checksum_update
Updates the running checksum with to_checksum. this can be called multiple times.
aws_checksums_crc32
The entry point function to perform a CRC32 (Ethernet, gzip) computation. Selects a suitable implementation based on hardware capabilities. Pass 0 in the previousCrc32 parameter as an initial value unless continuing to update a running crc in a subsequent call.
aws_checksums_crc32_combine
Combines two CRC32 (Ethernet, gzip) checksums computed over separate data blocks. This is equivalent to computing the CRC32 of the concatenated data blocks without having to re-scan the data.
aws_checksums_crc32_ex
The entry point function to perform a CRC32 (Ethernet, gzip) computation. Supports buffer lengths up to size_t max. Selects a suitable implementation based on hardware capabilities. Pass 0 in the previousCrc32 parameter as an initial value unless continuing to update a running crc in a subsequent call.
aws_checksums_crc32c
The entry point function to perform a Castagnoli CRC32c (iSCSI) computation. Selects a suitable implementation based on hardware capabilities. Pass 0 in the previousCrc32 parameter as an initial value unless continuing to update a running crc in a subsequent call.
aws_checksums_crc32c_combine
Combines two CRC32C (Castagnoli, iSCSI) checksums computed over separate data blocks. This is equivalent to computing the CRC32C of the concatenated data blocks without having to re-scan the data.
aws_checksums_crc32c_ex
The entry point function to perform a Castagnoli CRC32c (iSCSI) computation. Supports buffer lengths up to size_t max. Selects a suitable implementation based on hardware capabilities. Pass 0 in the previousCrc32 parameter as an initial value unless continuing to update a running crc in a subsequent call.
aws_checksums_crc64nvme
The entry point function to perform a CRC64-NVME (a.k.a. CRC64-Rocksoft) computation. Selects a suitable implementation based on hardware capabilities. Pass 0 in the previousCrc64 parameter as an initial value unless continuing to update a running crc in a subsequent call. There are many variants of CRC64 algorithms. This CRC64 variant is bit-reflected (based on the non bit-reflected polynomial 0xad93d23594c93659) and inverts the CRC input and output bits.
aws_checksums_crc64nvme_combine
Combines two CRC64-NVME (CRC64-Rocksoft) checksums computed over separate data blocks. This is equivalent to computing the CRC64-NVME of the concatenated data blocks without having to re-scan the data.
aws_checksums_crc64nvme_ex
The entry point function to perform a CRC64-NVME (a.k.a. CRC64-Rocksoft) computation. Supports buffer lengths up to size_t max. Selects a suitable implementation based on hardware capabilities. Pass 0 in the previousCrc64 parameter as an initial value unless continuing to update a running crc in a subsequent call. There are many variants of CRC64 algorithms. This CRC64 variant is bit-reflected (based on the non bit-reflected polynomial 0xad93d23594c93659) and inverts the CRC input and output bits.
aws_chunk_stream_new
TODO: properly support chunked encoding. Creates a chunked encoding stream that wraps an existing stream and adds checksum trailers.
aws_client_bootstrap_acquire
Increments a client bootstrap’s ref count, allowing the caller to take a reference to it.
aws_client_bootstrap_new
Create the client bootstrap.
aws_client_bootstrap_new_socket_channel
Sets up a client socket channel.
aws_client_bootstrap_release
Decrements a client bootstrap’s ref count. When the ref count drops to zero, the bootstrap will be destroyed.
aws_client_bootstrap_set_alpn_callback
When using TLS, if ALPN is used, this callback will be invoked from the channel. The returned handler will be added to the channel.
aws_clz_i32
aws_clz_i64
aws_clz_size
aws_clz_u32
Counts the number of leading 0 bits in an integer. 0 will return the size of the integer in bits.
aws_clz_u64
aws_common_fatal_assert_library_initialized
aws_common_library_clean_up
Shuts down the internal data structures used by aws-c-common.
aws_common_library_init
Initializes internal data structures used by aws-c-common. Must be called before using any functionality in aws-c-common.
aws_credentials_acquire
Add a reference to some credentials
aws_credentials_get_access_key_id
Get the AWS access key id from a set of credentials
aws_credentials_get_account_id
Get the AWS account id from a set of credentials
aws_credentials_get_ecc_key_pair
Get the elliptic curve key associated with this set of credentials @param credentials credentials to get the the elliptic curve key for @return the elliptic curve key associated with the credentials, or NULL if no key is associated with these credentials
aws_credentials_get_expiration_timepoint_seconds
Get the expiration timepoint (in seconds since epoch) associated with a set of credentials
aws_credentials_get_secret_access_key
Get the AWS secret access key from a set of credentials
aws_credentials_get_session_token
Get the AWS session token from a set of credentials
aws_credentials_is_anonymous
If credentials are anonymous, then the signing process is skipped.
aws_credentials_new
Creates a new set of aws credentials
aws_credentials_new_anonymous
Creates a new set of aws anonymous credentials. Use Anonymous credentials, when you want to skip the signing process.
aws_credentials_new_ecc
Creates a set of AWS credentials that includes an ECC key pair. These credentials do not have a value for the secret access key; the ecc key takes over that field’s role in sigv4a signing.
aws_credentials_new_ecc_from_aws_credentials
aws_credentials_new_from_string
Creates a new set of AWS credentials
aws_credentials_new_with_options
Creates a new set of aws credentials with account_id
aws_credentials_provider_acquire
aws_credentials_provider_get_credentials
aws_credentials_provider_new_anonymous
Creates a simple anonymous credentials provider
aws_credentials_provider_new_cached
Creates a provider that functions as a caching decorating of another provider.
aws_credentials_provider_new_chain
Creates a provider that sources credentials from an ordered sequence of providers, with the overall result being from the first provider to return a valid set of credentials
aws_credentials_provider_new_chain_default
Creates the default provider chain used by most AWS SDKs.
aws_credentials_provider_new_cognito
Creates a provider that sources credentials from the Cognito-Identity service via an invocation of the GetCredentialsForIdentity API call.
aws_credentials_provider_new_cognito_caching
Creates a cognito-based provider that has a caching layer wrapped around it
aws_credentials_provider_new_delegate
Create a credentials provider depends on provided vtable to fetch the credentials.
aws_credentials_provider_new_ecs
Creates a provider that sources credentials from the ecs role credentials service This function doesn’t read anything from the environment and requires everything to be explicitly passed in. If you need to read properties from the environment, use the aws_credentials_provider_new_ecs_from_environment.
aws_credentials_provider_new_ecs_from_environment
Creates a provider that sources credentials from the ecs role credentials service and reads the required params from environment variables
aws_credentials_provider_new_environment
Creates a provider that returns credentials sourced from the environment variables:
aws_credentials_provider_new_imds
Creates a provider that sources credentials from the ec2 instance metadata service
aws_credentials_provider_new_login
Creates a provider that sources credentials from AWS Login.
aws_credentials_provider_new_process
aws_credentials_provider_new_profile
Creates a provider that sources credentials from key-value profiles loaded from the aws credentials file (“/.aws/credentials” by default) and the aws config file (“/.aws/config” by default)
aws_credentials_provider_new_sso
Creates a provider that sources credentials from SSO using a SSOToken.
aws_credentials_provider_new_static
Creates a simple provider that just returns a fixed set of credentials
aws_credentials_provider_new_sts
Creates a provider that assumes an IAM role via. STS AssumeRole() API. This provider will fetch new credentials upon each call to aws_credentials_provider_get_credentials().
aws_credentials_provider_new_sts_web_identity
Creates a provider that sources credentials from STS using AssumeRoleWithWebIdentity
aws_credentials_provider_new_x509
Creates a provider that sources credentials from IoT Core
aws_credentials_provider_release
Release a reference to a credentials provider
aws_credentials_release
Remove a reference to some credentials
aws_crt_statistics_handler_destroy
completely destroys a statistics handler. The handler’s cleanup function must clean up the impl portion completely (including its allocation, if done separately).
aws_crt_statistics_handler_get_report_interval_ms
Queries the frequency (via an interval in milliseconds) which a statistics handler would like to be informed of statistics.
aws_crt_statistics_handler_process_statistics
Submits a list of statistics objects to a statistics handler for processing
aws_ctz_i32
aws_ctz_i64
aws_ctz_size
aws_ctz_u32
Counts the number of trailing 0 bits in an integer. 0 will return the size of the integer in bits.
aws_ctz_u64
aws_date_time_as_epoch_secs
aws_date_time_as_millis
aws_date_time_as_nanos
aws_date_time_day_of_week
aws_date_time_diff
returns the difference of a and b (a - b) in seconds.
aws_date_time_dst
aws_date_time_hour
aws_date_time_init_epoch_millis
Initializes dt to be the time represented in milliseconds since unix epoch.
aws_date_time_init_epoch_secs
Initializes dt to be the time represented in seconds.millis since unix epoch.
aws_date_time_init_from_str
Initializes dt to be the time represented by date_str in format ‘fmt’. Returns AWS_OP_SUCCESS if the string was successfully parsed, returns AWS_OP_ERR if parsing failed.
aws_date_time_init_from_str_cursor
aws_date_time_init variant that takes a byte_cursor rather than a byte_buf
aws_date_time_init_now
Initializes dt to be the current system time.
aws_date_time_minute
aws_date_time_month
aws_date_time_month_day
aws_date_time_second
aws_date_time_to_local_time_short_str
Copies the current time as a formatted short date string in local time into output_buf. If buffer is too small, it will return AWS_OP_ERR. A good size suggestion is AWS_DATE_TIME_STR_MAX_LEN bytes. AWS_DATE_FORMAT_AUTO_DETECT is not allowed.
aws_date_time_to_local_time_str
Copies the current time as a formatted date string in local time into output_buf. If buffer is too small, it will return AWS_OP_ERR. A good size suggestion is AWS_DATE_TIME_STR_MAX_LEN bytes. AWS_DATE_FORMAT_AUTO_DETECT is not allowed.
aws_date_time_to_utc_time_short_str
Copies the current time as a formatted short date string in utc time into output_buf. If buffer is too small, it will return AWS_OP_ERR. A good size suggestion is AWS_DATE_TIME_STR_MAX_LEN bytes. AWS_DATE_FORMAT_AUTO_DETECT is not allowed.
aws_date_time_to_utc_time_str
Copies the current time as a formatted date string in utc time into output_buf. If buffer is too small, it will return AWS_OP_ERR. A good size suggestion is AWS_DATE_TIME_STR_MAX_LEN bytes. AWS_DATE_FORMAT_AUTO_DETECT is not allowed.
aws_date_time_year
aws_default_allocator
aws_default_dns_resolve
WARNING! do not call this function directly (getaddrinfo()): it blocks. Provide a pointer to this function for other resolution functions.
aws_default_thread_options
Returns an instance of system default thread options.
aws_ecc_key_pair_new_ecdsa_p256_key_from_aws_credentials
Derives an ecc key pair (based on the nist P256 curve) from the access key id and secret access key components of a set of AWS credentials using an internal key derivation specification. Used to perform sigv4a signing in the hybrid mode based on AWS credentials.
aws_endpoints_get_supported_ruleset_version
aws_endpoints_parameter_get_built_in
aws_endpoints_parameter_get_default_boolean
aws_endpoints_parameter_get_default_string
aws_endpoints_parameter_get_deprecated_message
aws_endpoints_parameter_get_deprecated_since
aws_endpoints_parameter_get_documentation
aws_endpoints_parameter_get_is_required
aws_endpoints_parameter_get_type
Warning: The following helpers are intended for use by SDKs that validate correctness of the ruleset at compile time. The engine sanity checks the provided ruleset, but does not do extensive checking. Some malformed rulesets might fail in unexpected ways.
aws_endpoints_parameters_get_is_deprecated
aws_endpoints_request_context_acquire
aws_endpoints_request_context_add_boolean
aws_endpoints_request_context_add_string
aws_endpoints_request_context_add_string_array
aws_endpoints_request_context_new
aws_endpoints_request_context_release
aws_endpoints_resolved_endpoint_acquire
aws_endpoints_resolved_endpoint_get_error
aws_endpoints_resolved_endpoint_get_headers
aws_endpoints_resolved_endpoint_get_properties
aws_endpoints_resolved_endpoint_get_type
aws_endpoints_resolved_endpoint_get_url
aws_endpoints_resolved_endpoint_release
aws_endpoints_rule_engine_acquire
aws_endpoints_rule_engine_new
Create new rule engine for a given ruleset. In cases of failure NULL is returned and last error is set.
aws_endpoints_rule_engine_release
aws_endpoints_rule_engine_resolve
aws_endpoints_ruleset_acquire
aws_endpoints_ruleset_get_parameters
aws_endpoints_ruleset_get_service_id
aws_endpoints_ruleset_get_version
aws_endpoints_ruleset_new_from_string
aws_endpoints_ruleset_release
aws_error_debug_str
aws_error_lib_name
aws_error_name
aws_error_str
aws_event_loop_cancel_task
Cancels task. This function must be called from the event loop’s thread, and is only guaranteed to work properly on tasks scheduled from within the event loop’s thread. The task will be executed with the AWS_TASK_STATUS_CANCELED status inside this call.
aws_event_loop_clean_up_base
@internal - Don’t use outside of testing.
aws_event_loop_complete_destroy
@internal
aws_event_loop_current_clock_time
Gets the current timestamp for the event loop’s clock, in nanoseconds. This function is thread-safe.
aws_event_loop_destroy
@internal - Don’t use outside of testing.
aws_event_loop_get_impl
@internal - Don’t use outside of testing.
aws_event_loop_group_acquire
Increments the reference count on the event loop group, allowing the caller to take a reference to it.
aws_event_loop_group_acquire_from_event_loop
Increments the reference count on the event loop group from event loop, allowing the caller to take a reference to it.
aws_event_loop_group_get_loop_at
Returns the event loop at a particular index. If the index is out of bounds, null is returned.
aws_event_loop_group_get_loop_count
Gets the number of event loops managed by an event loop group.
aws_event_loop_group_get_next_loop
Fetches the next loop for use. The purpose is to enable load balancing across loops. You should not depend on how this load balancing is done as it is subject to change in the future. Currently it uses the “best-of-two” algorithm based on the load factor of each loop.
aws_event_loop_group_get_type
Gets the event loop type used by an event loop group.
aws_event_loop_group_new
Creation function for event loop groups.
aws_event_loop_group_new_default
@deprecated - use aws_event_loop_group_new() instead
aws_event_loop_group_new_default_pinned_to_cpu_group
@deprecated - use aws_event_loop_group_new() instead
aws_event_loop_group_release
Decrements an event loop group’s ref count. When the ref count drops to zero, the event loop group will be destroyed.
aws_event_loop_group_release_from_event_loop
Decrements the ref count of the event loop’s base event loop group. When the ref count drops to zero, the event loop group will be destroyed.
aws_event_loop_new_base
@internal - Don’t use outside of testing.
aws_event_loop_schedule_task_future
The event loop will schedule the task and run it at the specified time. Use aws_event_loop_current_clock_time() to query the current time in nanoseconds. Note that cancelled tasks may execute outside the event loop thread. This function may be called from outside or inside the event loop thread.
aws_event_loop_schedule_task_now
The event loop will schedule the task and run it on the event loop thread as soon as possible. Note that cancelled tasks may execute outside the event loop thread. This function may be called from outside or inside the event loop thread.
aws_event_loop_schedule_task_now_serialized
Variant of aws_event_loop_schedule_task_now that forces all tasks to go through the cross thread task queue, guaranteeing that order-of-submission is order-of-execution. If you need this guarantee, you must use this function; the base function contains short-circuiting logic that breaks ordering invariants. Beyond that, all properties of aws_event_loop_schedule_task_now apply to this function as well.
aws_event_loop_start_destroy
@internal
aws_event_loop_thread_is_callers_thread
Returns true if the event loop’s thread is the same thread that called this function, otherwise false.
aws_explicit_aligned_allocator_destroy
aws_explicit_aligned_allocator_new
aws_fatal_assert
aws_format_standard_log_line
aws_future_bool_acquire
aws_future See top of future.h for docs.
aws_future_bool_get_error
aws_future See top of future.h for docs.
aws_future_bool_get_result
aws_future See top of future.h for docs.
aws_future_bool_is_done
aws_future See top of future.h for docs.
aws_future_bool_new
aws_future See top of future.h for docs.
aws_future_bool_register_callback
aws_future See top of future.h for docs.
aws_future_bool_register_callback_if_not_done
aws_future See top of future.h for docs.
aws_future_bool_register_channel_callback
aws_future See top of future.h for docs.
aws_future_bool_register_event_loop_callback
aws_future See top of future.h for docs.
aws_future_bool_release
aws_future See top of future.h for docs.
aws_future_bool_set_error
aws_future See top of future.h for docs.
aws_future_bool_set_result
aws_future See top of future.h for docs.
aws_future_bool_wait
aws_future See top of future.h for docs.
aws_future_http_message_acquire
aws_future<aws_http_message*>
aws_future_http_message_get_error
aws_future<aws_http_message*>
aws_future_http_message_get_result_by_move
aws_future<aws_http_message*>
aws_future_http_message_is_done
aws_future<aws_http_message*>
aws_future_http_message_new
aws_future<aws_http_message*>
aws_future_http_message_peek_result
aws_future<aws_http_message*>
aws_future_http_message_register_callback
aws_future<aws_http_message*>
aws_future_http_message_register_callback_if_not_done
aws_future<aws_http_message*>
aws_future_http_message_register_channel_callback
aws_future<aws_http_message*>
aws_future_http_message_register_event_loop_callback
aws_future<aws_http_message*>
aws_future_http_message_release
aws_future<aws_http_message*>
aws_future_http_message_set_error
aws_future<aws_http_message*>
aws_future_http_message_set_result_by_move
aws_future<aws_http_message*>
aws_future_http_message_wait
aws_future<aws_http_message*>
aws_future_impl_acquire
aws_future_impl_get_error
aws_future_impl_get_result_address
aws_future_impl_get_result_by_move
aws_future_impl_is_done
aws_future_impl_new_by_value
aws_future_impl_new_by_value_with_clean_up
aws_future_impl_new_pointer
aws_future_impl_new_pointer_with_destroy
aws_future_impl_new_pointer_with_release
aws_future_impl_register_callback
aws_future_impl_register_callback_if_not_done
aws_future_impl_register_channel_callback
aws_future_impl_register_event_loop_callback
aws_future_impl_release
aws_future_impl_set_error
aws_future_impl_set_result_by_move
aws_future_impl_wait
aws_future_s3_buffer_ticket_acquire
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_get_error
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_get_result_by_move
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_is_done
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_new
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_peek_result
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_register_callback
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_register_callback_if_not_done
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_register_channel_callback
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_register_event_loop_callback
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_release
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_set_error
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_set_result_by_move
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_s3_buffer_ticket_wait
aws_future<aws_s3_buffer_ticket*> Buffer ticket future used for reservations.
aws_future_size_acquire
aws_future<size_t> See top of future.h for docs.
aws_future_size_get_error
aws_future<size_t> See top of future.h for docs.
aws_future_size_get_result
aws_future<size_t> See top of future.h for docs.
aws_future_size_is_done
aws_future<size_t> See top of future.h for docs.
aws_future_size_new
aws_future<size_t> See top of future.h for docs.
aws_future_size_register_callback
aws_future<size_t> See top of future.h for docs.
aws_future_size_register_callback_if_not_done
aws_future<size_t> See top of future.h for docs.
aws_future_size_register_channel_callback
aws_future<size_t> See top of future.h for docs.
aws_future_size_register_event_loop_callback
aws_future<size_t> See top of future.h for docs.
aws_future_size_release
aws_future<size_t> See top of future.h for docs.
aws_future_size_set_error
aws_future<size_t> See top of future.h for docs.
aws_future_size_set_result
aws_future<size_t> See top of future.h for docs.
aws_future_size_wait
aws_future<size_t> See top of future.h for docs.
aws_future_void_acquire
aws_future_void_get_error
aws_future_void_is_done
aws_future_void_new
aws_future See top of future.h for docs.
aws_future_void_register_callback
aws_future_void_register_callback_if_not_done
aws_future_void_register_channel_callback
aws_future_void_register_event_loop_callback
aws_future_void_release
aws_future_void_set_error
aws_future_void_set_result
aws_future_void_wait
aws_get_checksum_algorithm_name
Get algorithm’s name (e.g. “CRC32”), to be used as the value of headers like x-amz-checksum-algorithm
aws_get_completed_part_name_from_checksum_algorithm
Get the name of checksum algorithm to be used as the details of the parts were uploaded. Referring to https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompletedPart.html#AmazonS3-Type-CompletedPart
aws_get_digest_size_from_checksum_algorithm
Get the size of the checksum output corresponding to the aws_s3_checksum_algorithm enum value.
aws_get_http_header_name_from_checksum_algorithm
Get header name to use for algorithm (e.g. “x-amz-checksum-crc32”)
aws_hash_array_ignore_case
Case-insensitive hash function for array containing ASCII or UTF-8 text.
aws_hash_byte_cursor_ptr
Convenience hash function for struct aws_byte_cursor. Hash is same as used on the string bytes by aws_hash_c_string.
aws_hash_byte_cursor_ptr_ignore_case
Case-insensitive hash function for aws_byte_cursors stored in an aws_hash_table. For case-sensitive hashing, use aws_hash_byte_cursor_ptr().
aws_hash_c_string
Convenience hash function for NULL-terminated C-strings
aws_hash_callback_c_str_eq
Convenience eq callback for NULL-terminated C-strings
aws_hash_callback_string_destroy
Convenience destroy callback for AWS strings
aws_hash_callback_string_eq
Convenience eq callback for AWS strings
aws_hash_combine
aws_hash_compare_uint64_t_eq
Helper function to compare hash keys that are uint64_t values.
aws_hash_destroy
Cleans up and deallocates hash.
aws_hash_finalize
Completes the hash computation and writes the final digest to output. Allocation of output is the caller’s responsibility. If you specify truncate_to to something other than 0, the output will be truncated to that number of bytes. For example, if you want a SHA256 digest as the first 16 bytes, set truncate_to to 16. If you want the full digest size, just set this to 0.
aws_hash_iter_begin
Returns an iterator to be used for iterating through a hash table. Iterator will already point to the first element of the table it finds, which can be accessed as iter.element.
aws_hash_iter_delete
Deletes the element currently pointed-to by the hash iterator. After calling this method, the element member of the iterator should not be accessed until the next call to aws_hash_iter_next.
aws_hash_iter_done
Returns true if iterator is done iterating through table, false otherwise. If this is true, the iterator will not include an element of the table.
aws_hash_iter_is_valid
Given a pointer to a hash_iter, checks that it is well-formed, with all data-structure invariants.
aws_hash_iter_next
Updates iterator so that it points to next element of hash table.
aws_hash_ptr
Convenience hash function which hashes the pointer value directly, without dereferencing. This can be used in cases where pointer identity is desired, or where a uintptr_t is encoded into a const void *.
aws_hash_string
Convenience hash function for struct aws_strings. Hash is same as used on the string bytes by aws_hash_c_string.
aws_hash_table_clean_up
Deletes every element from map and frees all associated memory. destroy_fn will be called for each element. aws_hash_table_init must be called before reusing the hash table.
aws_hash_table_clear
Removes every element from the hash map. destroy_fn will be called for each element.
aws_hash_table_create
Attempts to locate an element at key. If no such element was found, creates a new element, with value initialized to NULL. In either case, a pointer to the element is placed in *p_elem.
aws_hash_table_eq
Compares two hash tables for equality. Both hash tables must have equivalent key comparators; values will be compared using the comparator passed into this function. The key hash function does not need to be equivalent between the two hash tables.
aws_hash_table_find
Attempts to locate an element at key. If the element is found, a pointer to the value is placed in *p_elem; if it is not found, *pElem is set to NULL. Either way, AWS_OP_SUCCESS is returned.
aws_hash_table_foreach
Iterates through every element in the map and invokes the callback on that item. Iteration is performed in an arbitrary, implementation-defined order, and is not guaranteed to be consistent across invocations.
aws_hash_table_get_entry_count
Returns the current number of entries in the table.
aws_hash_table_init
Initializes a hash map with initial capacity for ‘size’ elements without resizing. Uses hash_fn to compute the hash of each element. equals_fn to compute equality of two keys. Whenever an element is removed without being returned, destroy_key_fn is run on the pointer to the key and destroy_value_fn is run on the pointer to the value. Either or both may be NULL if a callback is not desired in this case.
aws_hash_table_is_valid
Best-effort check of hash_table_state data-structure invariants
aws_hash_table_move
Moves the hash table in ‘from’ to ‘to’. After this move, ‘from’ will be identical to the state of the original ‘to’ hash table, and ‘to’ will be in the same state as if it had been passed to aws_hash_table_clean_up (that is, it will have no memory allocated, and it will be safe to either discard it or call aws_hash_table_clean_up again).
aws_hash_table_put
Inserts a new element at key, with the given value. If another element exists at that key, the old element will be overwritten; both old key and value objects will be destroyed.
aws_hash_table_remove
Removes element at key. Always returns AWS_OP_SUCCESS.
aws_hash_table_remove_element
Removes element already known (typically by find()).
aws_hash_table_swap
Safely swaps two hash tables. Note that we swap the entirety of the hash table, including which allocator is associated.
aws_hash_uint64_t_by_identity
Helper function to hash keys that are uint64_t values.
aws_hash_update
Updates the running hash with to_hash. this can be called multiple times.
aws_host_address_clean_up
Cleans up the memory for address
aws_host_address_copy
Copies from to to.
aws_host_address_move
Moves from to to. After this call, from is no longer usable. Though, it could be resused for another move or copy operation.
aws_host_resolver_acquire
Increments the reference count on the host resolver, allowing the caller to take a reference to it.
aws_host_resolver_get_host_address_count
get number of addresses for a given host.
aws_host_resolver_init_default_resolution_config
Returns the default host resolution config used internally if none specified.
aws_host_resolver_new_default
Creates a host resolver with the default behavior. Here’s the behavior:
aws_host_resolver_purge_cache
@Deprecated Use purge_cache_with_callback instead calls purge_cache on the vtable.
aws_host_resolver_purge_cache_with_callback
Calls aws_host_resolver_purge_cache_with_callback on the vtable which will wipe out everything host resolver has cached.
aws_host_resolver_purge_host_cache
Removes the cache for a host asynchronously.
aws_host_resolver_record_connection_failure
calls record_connection_failure on the vtable.
aws_host_resolver_release
Decrements a host resolver’s ref count. When the ref count drops to zero, the resolver will be destroyed.
aws_host_resolver_resolve_host
calls resolve_host on the vtable. config will be copied.
aws_hton16
Convert 16 bit integer from host to network byte order.
aws_hton32
Convert 32 bit integer from host to network byte order.
aws_hton64
Convert 64 bit integer from host to network byte order.
aws_htonf32
Convert 32 bit float from host to network byte order.
aws_htonf64
Convert 64 bit double from host to network byte order.
aws_http1_stream_add_chunked_trailer
Add a list of headers to be added as trailing headers sent after the last chunk is sent. a “Trailer” header field which indicates the fields present in the trailer.
aws_http1_stream_write_chunk
Submit a chunk of data to be sent on an HTTP/1.1 stream. The stream must have specified “chunked” in a “transfer-encoding” header, and the aws_http_message must NOT have any body stream set. For client streams, activate() must be called before any chunks are submitted. For server streams, the response must be submitted before any chunks. A final chunk with size 0 must be submitted to successfully complete the HTTP-stream.
aws_http2_connection_change_settings
Send a SETTINGS frame (HTTP/2 only). SETTINGS will be applied locally when SETTINGS ACK is received from peer.
aws_http2_connection_get_local_settings
Get the local settings we are using to affect the decoding.
aws_http2_connection_get_received_goaway
Get data about the latest GOAWAY frame received from peer (HTTP/2 only). If no GOAWAY has been received, or the GOAWAY payload is still in transmitting, AWS_ERROR_HTTP_DATA_NOT_AVAILABLE will be raised.
aws_http2_connection_get_remote_settings
Get the settings received from remote peer, which we are using to restricts the message to send.
aws_http2_connection_get_sent_goaway
Get data about the latest GOAWAY frame sent to peer (HTTP/2 only). If no GOAWAY has been sent, AWS_ERROR_HTTP_DATA_NOT_AVAILABLE will be raised. Note that GOAWAY frames are typically sent automatically by the connection during shutdown.
aws_http2_connection_ping
Send a PING frame (HTTP/2 only). Round-trip-time is calculated when PING ACK is received from peer.
aws_http2_connection_send_goaway
Send a custom GOAWAY frame (HTTP/2 only).
aws_http2_connection_update_window
Increment the connection’s flow-control window to keep data flowing (HTTP/2 only).
aws_http2_headers_get_request_authority
aws_http2_headers_get_request_method
Get the :method value (HTTP/2 headers only).
aws_http2_headers_get_request_path
aws_http2_headers_get_request_scheme
aws_http2_headers_get_response_status
Get :status (response pseudo headers only). If no status is set, AWS_ERROR_HTTP_DATA_NOT_AVAILABLE is raised.
aws_http2_headers_set_request_authority
Set :authority (request pseudo headers only). The pseudo headers makes its own copy of the underlying string.
aws_http2_headers_set_request_method
Set :method (HTTP/2 headers only). The headers makes its own copy of the underlying string.
aws_http2_headers_set_request_path
Set :path (request pseudo headers only). The pseudo headers makes its own copy of the underlying string.
aws_http2_headers_set_request_scheme
Set :scheme (request pseudo headers only). The pseudo headers makes its own copy of the underlying string.
aws_http2_headers_set_response_status
Set :status (response pseudo headers only).
aws_http2_message_new_from_http1
Create an HTTP/2 message from HTTP/1.1 message. pseudo headers will be created from the context and added to the headers of new message. Normal headers will be copied to the headers of new message. Note:
aws_http2_message_new_request
Create a new HTTP/2 request message. pseudo headers need to be set from aws_http2_headers_set_request_* to the headers of the aws_http_message. Will be errored out if used in HTTP/1.1 connection.
aws_http2_message_new_response
Create a new HTTP/2 response message. pseudo headers need to be set from aws_http2_headers_set_response_status to the headers of the aws_http_message. Will be errored out if used in HTTP/1.1 connection.
aws_http2_stream_get_received_reset_error_code
Get the error code received in rst_stream. Only valid if the stream has completed, and an RST_STREAM frame has received.
aws_http2_stream_get_sent_reset_error_code
Get the HTTP/2 error code sent in the RST_STREAM frame (HTTP/2 only). Only valid if the stream has completed, and has sent an RST_STREAM frame.
aws_http2_stream_reset
Reset the HTTP/2 stream (HTTP/2 only). Note that if the stream closes before this async call is fully processed, the RST_STREAM frame will not be sent.
aws_http2_stream_write_data
The stream must have specified http2_use_manual_data_writes during request creation. For client streams, activate() must be called before any frames are submitted. For server streams, the response headers must be submitted before any frames. A write with options that has end_stream set to be true will end the stream and prevent any further write.
aws_http_alpn_map_init
Initialize an empty hash-table that maps struct aws_string * to enum aws_http_version. This map can used in aws_http_client_connections_options.alpn_string_map.
aws_http_alpn_map_init_copy
Initialize an map copied from the *src map, which maps struct aws_string * to enum aws_http_version.
aws_http_client_connect
Asynchronously establish a client connection. The on_setup callback is invoked when the operation has created a connection or failed.
aws_http_connection_close
Begin shutdown sequence of the connection if it hasn’t already started. This will schedule shutdown tasks on the EventLoop that may send HTTP/TLS/TCP shutdown messages to peers if necessary, and will eventually cause internal connection memory to stop being accessed and on_shutdown() callback to be called.
aws_http_connection_get_channel
Returns the channel hosting the HTTP connection. Do not expose this function to language bindings.
aws_http_connection_get_remote_endpoint
Returns the remote endpoint of the HTTP connection.
aws_http_connection_get_version
aws_http_connection_is_client
Returns true if this is a client connection.
aws_http_connection_is_open
Returns true unless the connection is closed or closing.
aws_http_connection_make_request
Create a stream, with a client connection sending a request. The request does not start sending automatically once the stream is created. You must call aws_http_stream_activate to begin execution of the request.
aws_http_connection_manager_acquire
aws_http_connection_manager_acquire_connection
aws_http_connection_manager_fetch_metrics
Fetch the current manager metrics from connection manager.
aws_http_connection_manager_new
aws_http_connection_manager_release
aws_http_connection_manager_release_connection
aws_http_connection_new_requests_allowed
Return whether the connection can make a new requests. If false, then a new connection must be established to make further requests.
aws_http_connection_release
Users must release the connection when they are done with it. The connection’s memory cannot be reclaimed until this is done. If the connection was not already shutting down, it will be shut down.
aws_http_connection_stop_new_requests
Stop accepting new requests for the connection. It will NOT start the shutdown process for the connection. The requests that are already open can still wait to be completed, but new requests will fail to be created,
aws_http_error_code_is_retryable
aws_http_header_name_eq
Return whether both names are equivalent. This is a case-insensitive string comparison.
aws_http_headers_acquire
Acquire a hold on the object, preventing it from being deleted until aws_http_headers_release() is called by all those with a hold on it.
aws_http_headers_add
Add a header. The underlying strings are copied.
aws_http_headers_add_array
Add an array of headers. The underlying strings are copied.
aws_http_headers_add_header
Add a header. The underlying strings are copied.
aws_http_headers_clear
Clear all headers.
aws_http_headers_count
Get the total number of headers.
aws_http_headers_erase
Remove all headers with this name. AWS_ERROR_HTTP_HEADER_NOT_FOUND is raised if no headers with this name are found.
aws_http_headers_erase_index
Remove the header at the specified index.
aws_http_headers_erase_value
Remove the first header found with this name and value. AWS_ERROR_HTTP_HEADER_NOT_FOUND is raised if no such header is found.
aws_http_headers_get
Get the first value for this name, ignoring any additional values. AWS_ERROR_HTTP_HEADER_NOT_FOUND is raised if the name is not found.
aws_http_headers_get_all
Get all values with this name, combined into one new aws_string that you are responsible for destroying. If there are multiple headers with this name, their values are appended with comma-separators. If there are no headers with this name, NULL is returned and AWS_ERROR_HTTP_HEADER_NOT_FOUND is raised.
aws_http_headers_get_index
Get the header at the specified index. The index of a given header may change any time headers are modified. When iterating headers, the following ordering rules apply:
aws_http_headers_has
Test if header name exists or not in headers
aws_http_headers_new
Create a new headers object. The caller has a hold on the object and must call aws_http_headers_release() when they are done with it.
aws_http_headers_release
Release a hold on the object. The object is deleted when all holds on it are released.
aws_http_headers_set
Set a header value. The header is added if necessary and any existing values for this name are removed. The underlying strings are copied.
aws_http_library_clean_up
Clean up internal datastructures used by aws-c-http. Must not be called until application is done using functionality in aws-c-http.
aws_http_library_init
Initializes internal datastructures used by aws-c-http. Must be called before using any functionality in aws-c-http.
aws_http_message_acquire
Acquire a hold on the object, preventing it from being deleted until aws_http_message_release() is called by all those with a hold on it.
aws_http_message_add_header
Add a header to the end of the array. The message makes its own copy of the underlying strings.
aws_http_message_add_header_array
Add an array of headers to the end of the header array. The message makes its own copy of the underlying strings.
aws_http_message_destroy
Deprecated. This is equivalent to aws_http_message_release().
aws_http_message_erase_header
Remove the header at the specified index. Headers after this index are all shifted back one position.
aws_http_message_get_body_stream
Get the body stream. Returns NULL if no body stream is set.
aws_http_message_get_const_headers
Get the message’s const aws_http_headers.
aws_http_message_get_header
Get the header at the specified index. This function cannot fail if a valid index is provided. Otherwise, AWS_ERROR_INVALID_INDEX will be raised.
aws_http_message_get_header_count
Get the number of headers.
aws_http_message_get_headers
This datastructure has more functions for inspecting and modifying headers than are available on the aws_http_message datastructure.
aws_http_message_get_protocol_version
Get the protocol version of the http message.
aws_http_message_get_request_method
Get the method (request messages only).
aws_http_message_get_request_path
aws_http_message_get_response_status
Get the status code (response messages only). If no status is set, AWS_ERROR_HTTP_DATA_NOT_AVAILABLE is raised.
aws_http_message_is_request
aws_http_message_is_response
aws_http_message_new_request
Create a new HTTP/1.1 request message. The message is blank, all properties (method, path, etc) must be set individually. If HTTP/1.1 message used in HTTP/2 connection, the transformation will be automatically applied. A HTTP/2 message will created and sent based on the HTTP/1.1 message.
aws_http_message_new_request_with_headers
Like aws_http_message_new_request(), but uses existing aws_http_headers instead of creating a new one. Acquires a hold on the headers, and releases it when the request is destroyed.
aws_http_message_new_response
Create a new HTTP/1.1 response message. The message is blank, all properties (status, headers, etc) must be set individually.
aws_http_message_release
Release a hold on the object. The object is deleted when all holds on it are released.
aws_http_message_set_body_stream
Set the body stream. NULL is an acceptable value for messages with no body. Note: The message does NOT take ownership of the body stream. The stream must not be destroyed until the message is complete.
aws_http_message_set_request_method
Set the method (request messages only). The request makes its own copy of the underlying string.
aws_http_message_set_request_path
Set the path-and-query value (request messages only). The request makes its own copy of the underlying string.
aws_http_message_set_response_status
Set the status code (response messages only).
aws_http_options_validate_proxy_configuration
Checks http proxy options for correctness
aws_http_proxy_config_destroy
Destroys an http proxy configuration @param config http proxy configuration to destroy
aws_http_proxy_config_new_clone
Clones an existing proxy configuration. A refactor could remove this (do a “move” between the old and new user data in the one spot it’s used) but that should wait until we have better test cases for the logic where this gets invoked (ntlm/kerberos chains).
aws_http_proxy_config_new_from_connection_options
Create a persistent proxy configuration from http connection options @param allocator memory allocator to use @param options http connection options to source proxy configuration from @return
aws_http_proxy_config_new_from_manager_options
Create a persistent proxy configuration from http connection manager options @param allocator memory allocator to use @param options http connection manager options to source proxy configuration from @return
aws_http_proxy_config_new_from_proxy_options
Create a persistent proxy configuration from non-persistent proxy options. Legacy connection type of proxy options will be rejected.
aws_http_proxy_config_new_from_proxy_options_with_tls_info
Create a persistent proxy configuration from non-persistent proxy options.
aws_http_proxy_config_new_tunneling_from_proxy_options
Create a persistent proxy configuration from non-persistent proxy options. The resulting proxy configuration assumes a tunneling connection type.
aws_http_proxy_negotiator_acquire
Take a reference to an http proxy negotiator @param proxy_negotiator negotiator to take a reference to @return the strategy
aws_http_proxy_negotiator_release
Release a reference to an http proxy negotiator @param proxy_negotiator negotiator to release a reference to
aws_http_proxy_new_socket_channel
Establish an arbitrary protocol connection through an http proxy via tunneling CONNECT. Alpn is not required for this connection process to succeed, but we encourage its use if available.
aws_http_proxy_options_init_from_config
Initializes non-persistent http proxy options from a persistent http proxy configuration @param options http proxy options to initialize @param config the http proxy config to use as an initialization source
aws_http_proxy_strategy_acquire
Take a reference to an http proxy strategy @param proxy_strategy strategy to take a reference to @return the strategy
aws_http_proxy_strategy_create_negotiator
Creates a new proxy negotiator from a proxy strategy @param allocator memory allocator to use @param strategy strategy to creation a new negotiator for @return a new proxy negotiator if successful, otherwise NULL
aws_http_proxy_strategy_new_basic_auth
A constructor for a proxy strategy that performs basic authentication by adding the appropriate header and header value to requests or CONNECT requests.
aws_http_proxy_strategy_new_tunneling_adaptive
Constructor for an adaptive tunneling proxy strategy. This strategy attempts a vanilla CONNECT and if that fails it may make followup CONNECT attempts using kerberos or ntlm tokens, based on configuration and proxy response properties.
aws_http_proxy_strategy_release
Release a reference to an http proxy strategy @param proxy_strategy strategy to release a reference to
aws_http_status_text
Returns the description of common status codes. Ex: 404 -> “Not Found” An empty string is returned if the status code is not recognized.
aws_http_stream_acquire
Acquire refcount on the stream to prevent it from being cleaned up until it is released.
aws_http_stream_activate
Only used for client initiated streams (immediately following a call to aws_http_connection_make_request).
aws_http_stream_cancel
Cancel the stream in flight. For HTTP/1.1 streams, it’s equivalent to closing the connection. For HTTP/2 streams, it’s equivalent to calling reset on the stream with AWS_HTTP2_ERR_CANCEL.
aws_http_stream_get_connection
aws_http_stream_get_id
Gets the HTTP/2 id associated with a stream. Even h1 streams have an id (using the same allocation procedure as http/2) for easier tracking purposes. For client streams, this will only be non-zero after a successful call to aws_http_stream_activate()
aws_http_stream_get_incoming_request_method
aws_http_stream_get_incoming_request_uri
aws_http_stream_get_incoming_response_status
aws_http_stream_new_server_request_handler
Create a stream, with a server connection receiving and responding to a request. This function can only be called from the aws_http_on_incoming_request_fn callback. aws_http_stream_send_response() should be used to send a response.
aws_http_stream_release
Users must release the stream when they are done with it, or its memory will never be cleaned up. This will not cancel the stream, its callbacks will still fire if the stream is still in progress.
aws_http_stream_send_response
Send response (only callable from “request handler” streams) The response object must stay alive at least until the stream’s on_complete is called.
aws_http_stream_update_window
Increment the stream’s flow-control window to keep data flowing.
aws_imds_client_acquire
Increments the ref count on the client
aws_imds_client_get_ami_id
Gets the ami id of the ec2 instance from the instance metadata document
aws_imds_client_get_ami_launch_index
Gets the ami launch index of the ec2 instance from the instance metadata document
aws_imds_client_get_ami_manifest_path
Gets the ami manifest path of the ec2 instance from the instance metadata document
aws_imds_client_get_ancestor_ami_ids
Gets the list of ancestor ami ids of the ec2 instance from the instance metadata document
aws_imds_client_get_attached_iam_role
Gets the attached iam role of the ec2 instance from the instance metadata document
aws_imds_client_get_availability_zone
Gets the availability zone of the ec2 instance from the instance metadata document
aws_imds_client_get_block_device_mapping
Gets the list of block device mappings of the ec2 instance from the instance metadata document
aws_imds_client_get_credentials
Gets temporary credentials based on the attached iam role of the ec2 instance
aws_imds_client_get_iam_profile
Gets the iam profile information of the ec2 instance from the instance metadata document
aws_imds_client_get_instance_action
Gets the instance-action of the ec2 instance from the instance metadata document
aws_imds_client_get_instance_id
Gets the instance id of the ec2 instance from the instance metadata document
aws_imds_client_get_instance_info
Gets the instance information data block of the ec2 instance from the instance metadata document
aws_imds_client_get_instance_signature
Gets the signature of the ec2 instance from the instance metadata document
aws_imds_client_get_instance_type
Gets the instance type of the ec2 instance from the instance metadata document
aws_imds_client_get_mac_address
Gets the mac address of the ec2 instance from the instance metadata document
aws_imds_client_get_private_ip_address
Gets the private ip address of the ec2 instance from the instance metadata document
aws_imds_client_get_product_codes
Gets the product codes of the ec2 instance from the instance metadata document
aws_imds_client_get_public_key
Gets the public key of the ec2 instance from the instance metadata document
aws_imds_client_get_ramdisk_id
Gets the ramdisk id of the ec2 instance from the instance metadata document
aws_imds_client_get_reservation_id
Gets the reservation id of the ec2 instance from the instance metadata document
aws_imds_client_get_resource_async
Queries a generic resource (string) from the ec2 instance metadata document
aws_imds_client_get_security_groups
Gets the list of the security groups of the ec2 instance from the instance metadata document
aws_imds_client_get_user_data
Gets the user data of the ec2 instance from the instance metadata document
aws_imds_client_new
Creates a new imds client
aws_imds_client_release
Decrements the ref count on the client
aws_input_stream_acquire
Increments the reference count on the input stream, allowing the caller to take a reference to it.
aws_input_stream_destroy
aws_input_stream_get_length
aws_input_stream_get_status
aws_input_stream_new_from_cursor
aws_input_stream_new_from_file
aws_input_stream_new_from_open_file
aws_input_stream_read
aws_input_stream_release
Decrements a input stream’s ref count. When the ref count drops to zero, the input stream will be destroyed.
aws_input_stream_seek
aws_io_error_code_is_retryable
aws_io_fatal_assert_library_initialized
aws_io_library_clean_up
Shuts down the internal datastructures used by aws-c-io.
aws_io_library_init
Initializes internal datastructures used by aws-c-io. Must be called before using any functionality in aws-c-io.
aws_is_big_endian
Returns 1 if machine is big endian, 0 if little endian. If you compile with even -O1 optimization, this check is completely optimized out at compile time and code which calls “if (aws_is_big_endian())” will do the right thing without branching.
aws_is_mem_zeroed
Returns whether each byte is zero.
aws_is_power_of_two
Function to check if x is power of 2
aws_isalnum
Like isalnum(), but ignores C locale. Returns true if ch has the value of ASCII/UTF-8: ‘a’-‘z’, ‘A’-‘Z’, or ‘0’-‘9’.
aws_isalpha
Like isalpha(), but ignores C locale. Returns true if ch has the value of ASCII/UTF-8: ‘a’-‘z’ or ‘A’-‘Z’.
aws_isdigit
Like isdigit(). Returns true if ch has the value of ASCII/UTF-8: ‘0’-‘9’.
aws_isspace
Like isspace(), but ignores C locale. Return true if ch has the value of ASCII/UTF-8: space (0x20), form feed (0x0C), line feed (0x0A), carriage return (0x0D), horizontal tab (0x09), or vertical tab (0x0B).
aws_isxdigit
Like isxdigit(). Returns true if ch has the value of ASCII/UTF-8: ‘0’-‘9’, ‘a’-‘f’, or ‘A’-‘F’.
aws_last_error
aws_linked_list_back
Returns the element in the back of the list.
aws_linked_list_begin
Returns an iteration pointer for the first element in the list.
aws_linked_list_empty
Tests if the list is empty.
aws_linked_list_end
Returns an iteration pointer for one past the last element in the list.
aws_linked_list_front
Returns the element in the front of the list.
aws_linked_list_init
Initializes the list. List will be empty after this call.
aws_linked_list_insert_after
Inserts to_add immediately after after.
aws_linked_list_insert_before
Inserts to_add immediately before before.
aws_linked_list_is_valid
Checks that a linked list is valid.
aws_linked_list_is_valid_deep
Checks that a linked list satisfies double linked list connectivity constraints. This check is O(n) as it traverses the whole linked list to ensure that tail is reachable from head (and vice versa) and that every connection is bidirectional.
aws_linked_list_move_all_back
Remove all nodes from one list, and add them to the back of another.
aws_linked_list_move_all_front
Remove all nodes from one list, and add them to the front of another.
aws_linked_list_next
Returns the next element in the list.
aws_linked_list_node_is_in_list
Returns true if the node is currently in a list, false otherwise.
aws_linked_list_node_next_is_valid
Checks that the prev of the next pointer of a node points to the node. As this checks whether the [next] connection of a node is bidirectional, it returns false if used for the list tail.
aws_linked_list_node_prev_is_valid
Checks that the next of the prev pointer of a node points to the node. Similarly to the above, this returns false if used for the head of a list.
aws_linked_list_node_reset
Set node’s next and prev pointers to NULL.
aws_linked_list_pop_back
Returns the element in the back of the list and removes it
aws_linked_list_pop_front
Returns the element in the front of the list and removes it
aws_linked_list_prev
Returns the previous element in the list.
aws_linked_list_push_back
Append new_node.
aws_linked_list_push_front
Prepend new_node.
aws_linked_list_rbegin
Returns a pointer for the last element in the list. Used to begin iterating the list in reverse. Ex: for (i = aws_linked_list_rbegin(list); i != aws_linked_list_rend(list); i = aws_linked_list_prev(i)) {…}
aws_linked_list_remove
Removes the specified node from the list (prev/next point to each other) and returns the next node in the list.
aws_linked_list_rend
Returns the pointer to one before the first element in the list. Used to end iterating the list in reverse.
aws_linked_list_swap_contents
aws_linked_list_swap_nodes
Swaps the order two nodes in the linked list.
aws_log_channel_clean_up
aws_log_channel_init_background
aws_log_channel_init_foreground
aws_log_formatter_clean_up
aws_log_formatter_init_default
aws_log_level_to_string
Converts a log level to a c-string constant. Intended primarily to support building log lines that include the level in them, i.e.
aws_log_subject_name
Get subject name from log subject.
aws_log_writer_clean_up
aws_log_writer_init_file
aws_log_writer_init_stderr
aws_log_writer_init_stdout
aws_logger_clean_up
Cleans up all resources used by the logger; simply invokes the clean_up v-function
aws_logger_get
Gets the aws logger used globally across the process.
aws_logger_get_conditional
Gets the aws logger used globally across the process if the logging level is at least the inputted level.
aws_logger_init_from_external
aws_logger_init_noalloc
aws_logger_init_standard
aws_logger_set
Sets the aws logger used globally across the process. Not thread-safe. Must only be called once.
aws_logger_set_log_level
Sets the current logging level for the logger. Loggers are not require to support this. @param logger logger to set the log level for @param level new log level for the logger @return AWS_OP_SUCCESS if the level was successfully set, AWS_OP_ERR otherwise
aws_lookup_table_hex_to_num_get
Returns lookup table to go from ASCII/UTF-8 hex character to a number (0-15). Non-hex characters map to 255. Valid examples: ‘0’ -> 0 ‘F’ -> 15 ‘f’ -> 15 Invalid examples: ’ ’ -> 255 ‘Z’ -> 255 ‘\0’ -> 255
aws_lookup_table_to_lower_get
Returns a lookup table for bytes that is the identity transformation with the exception of uppercase ascii characters getting replaced with lowercase characters. Used in caseless comparisons.
aws_max_double
aws_max_float
aws_max_i8
aws_max_i16
aws_max_i32
aws_max_i64
aws_max_int
aws_max_size
aws_max_u8
aws_max_u16
aws_max_u32
aws_max_u64
aws_md5_compute
Computes the md5 hash over input and writes the digest output to ‘output’. Use this if you don’t need to stream the data you’re hashing and you can load the entire input to hash into memory.
aws_md5_new
Allocates and initializes an md5 hash instance.
aws_mem_acquire
Returns at least size of memory ready for usage. In versions v0.6.8 and prior, this function was allowed to return NULL. In later versions, if allocator->mem_acquire() returns NULL, this function will assert and exit. To handle conditions where OOM is not a fatal error, allocator->mem_acquire() is responsible for finding/reclaiming/running a GC etc…before returning.
aws_mem_acquire_many
Allocates many chunks of bytes into a single block. Expects to be called with alternating void ** (dest), size_t (size). The first void ** will be set to the root of the allocation. Alignment is assumed to be sizeof(intmax_t).
aws_mem_calloc
Allocates a block of memory for an array of num elements, each of them size bytes long, and initializes all its bits to zero. In versions v0.6.8 and prior, this function was allowed to return NULL. In later versions, if allocator->mem_calloc() returns NULL, this function will assert and exit. To handle conditions where OOM is not a fatal error, allocator->mem_calloc() is responsible for finding/reclaiming/running a GC etc…before returning.
aws_mem_realloc
Attempts to adjust the size of the pointed-to memory buffer from oldsize to newsize. The pointer (*ptr) may be changed if the memory needs to be reallocated.
aws_mem_release
Releases ptr back to whatever allocated it. Nothing happens if ptr is NULL.
aws_mem_tracer_bytes
aws_mem_tracer_count
aws_mem_tracer_destroy
aws_mem_tracer_dump
aws_mem_tracer_new
aws_min_double
aws_min_float
aws_min_i8
aws_min_i16
aws_min_i32
aws_min_i64
aws_min_int
aws_min_size
aws_min_u8
aws_min_u16
aws_min_u32
aws_min_u64
aws_mul_size_checked
Multiplies a * b and returns the result in *r. If the result overflows, returns AWS_OP_ERR; otherwise returns AWS_OP_SUCCESS.
aws_mul_size_saturating
Multiplies a * b. If the result overflows, returns SIZE_MAX.
aws_mul_u32_checked
If a * b overflows, returns AWS_OP_ERR; otherwise multiplies a * b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_mul_u32_saturating
Multiplies a * b. If the result overflows, returns 2^32 - 1.
aws_mul_u64_checked
If a * b overflows, returns AWS_OP_ERR; otherwise multiplies a * b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_mul_u64_saturating
Multiplies a * b. If the result overflows, returns 2^64 - 1.
aws_mutex_clean_up
Cleans up internal resources.
aws_mutex_init
Initializes a new platform instance of mutex.
aws_mutex_lock
Blocks until it acquires the lock. While on some platforms such as Windows, this may behave as a reentrant mutex, you should not treat it like one. On platforms it is possible for it to be non-reentrant, it will be.
aws_mutex_try_lock
Attempts to acquire the lock but returns immediately if it can not. While on some platforms such as Windows, this may behave as a reentrant mutex, you should not treat it like one. On platforms it is possible for it to be non-reentrant, it will be. Note: For windows, minimum support server version is Windows Server 2008 R2 [desktop apps | UWP apps]
aws_mutex_unlock
Releases the lock.
aws_ntoh16
Convert 16 bit integer from network to host byte order.
aws_ntoh32
Convert 32 bit integer from network to host byte order.
aws_ntoh64
Convert 64 bit integer from network to host byte order.
aws_ntohf32
Convert 32 bit float from network to host byte order.
aws_ntohf64
Convert 32 bit float from network to host byte order.
aws_priority_queue_backpointer_index_valid
Checks that the backpointer at a specific index of the queue is NULL or points to a correctly allocated aws_priority_queue_node.
aws_priority_queue_backpointers_valid
Checks that the backpointers of the priority queue satisfy validity constraints.
aws_priority_queue_backpointers_valid_deep
Checks that the backpointers of the priority queue are either NULL or correctly allocated to point at aws_priority_queue_nodes. This check is O(n), as it accesses every backpointer in a loop, and thus shouldn’t be used carelessly.
aws_priority_queue_capacity
Current allocated capacity for the queue, in dynamic mode this grows over time, in static mode, this will never change.
aws_priority_queue_clean_up
Cleans up any internally allocated memory and resets the struct for reuse or deletion.
aws_priority_queue_clear
Removes all elements from the queue, but does not free internal memory.
aws_priority_queue_init_dynamic
Initializes a priority queue struct for use. This mode will grow memory automatically (exponential model) Default size is the inital size of the queue item_size is the size of each element in bytes. Mixing items types is not supported by this API. pred is the function that will be used to determine priority.
aws_priority_queue_init_static
Initializes a priority queue struct for use. This mode will not allocate any additional memory. When the heap fills new enqueue operations will fail with AWS_ERROR_PRIORITY_QUEUE_FULL.
aws_priority_queue_is_valid
Set of properties of a valid aws_priority_queue.
aws_priority_queue_node_init
Initializes a queue node to a default value that indicates the node is not in the queue.
aws_priority_queue_node_is_in_queue
Checks if a priority queue node is currently in a priority queue.
aws_priority_queue_pop
Copies the element of the highest priority, and removes it from the queue.. Complexity: O(log(n)). If queue is empty, AWS_ERROR_PRIORITY_QUEUE_EMPTY will be raised.
aws_priority_queue_push
Copies item into the queue and places it in the proper priority order. Complexity: O(log(n)).
aws_priority_queue_push_ref
Copies item into the queue and places it in the proper priority order. Complexity: O(log(n)).
aws_priority_queue_remove
Removes a specific node from the priority queue. Complexity: O(log(n)) After removing a node (using either _remove or _pop), the backpointer set at push_ref time is set to a sentinel value. If this sentinel value is passed to aws_priority_queue_remove, AWS_ERROR_PRIORITY_QUEUE_BAD_NODE will be raised. Note, however, that passing uninitialized aws_priority_queue_nodes, or ones from different priority queues, results in undefined behavior.
aws_priority_queue_size
Current number of elements in the queue
aws_priority_queue_top
Obtains a pointer to the element of the highest priority. Complexity: constant time. If queue is empty, AWS_ERROR_PRIORITY_QUEUE_EMPTY will be raised.
aws_ptr_eq
Equality function which compares pointer equality.
aws_query_string_next_param
For iterating over the params in the query string. param is an in/out argument used to track progress, it MUST be zeroed out to start. If true is returned, param contains the value of the next param. If false is returned, there are no further params.
aws_query_string_params
Parses query string and stores the parameters in ‘out_params’. Returns AWS_OP_SUCCESS on success and AWS_OP_ERR on failure. The user is responsible for initializing out_params with item size of struct aws_query_param. The user is also responsible for cleaning up out_params when finished.
aws_raise_error
aws_raise_error_private
aws_ref_count_acquire
Increments a ref-counter’s ref count
aws_ref_count_init
Initializes a ref-counter structure. After initialization, the ref count will be 1.
aws_ref_count_release
Decrements a ref-counter’s ref count. Invokes the on_zero callback if the ref count drops to zero @param ref_count ref-counter to decrement the count for @return the value of the decremented ref count
aws_register_error_info
TODO: this needs to be a private function (wait till we have the cmake story better before moving it though). It should be external for the purpose of other libs we own, but customers should not be able to hit it without going out of their way to do so.
aws_register_log_subject_info_list
Connects log subject strings with log subject integer values
aws_reset_error
aws_restore_error
aws_retry_strategy_acquire
Acquire a reference count on retry_strategy.
aws_retry_strategy_acquire_retry_token
Attempts to acquire a retry token for use with retries. On success, on_acquired will be invoked when a token is available, or an error will be returned if the timeout expires. partition_id identifies operations that should be grouped together. This allows for more sophisticated strategies such as AIMD and circuit breaker patterns. Pass NULL to use the global partition.
aws_retry_strategy_new_exponential_backoff
Creates a retry strategy using exponential backoff. This strategy does not perform any bookkeeping on error types and success. There is no circuit breaker functionality in here. See the comments above for aws_exponential_backoff_retry_options.
aws_retry_strategy_new_no_retry
This retry strategy is used to disable retries. Passed config can be null. Calling aws_retry_strategy_acquire_retry_token will raise error AWS_IO_RETRY_PERMISSION_DENIED. Calling any function apart from the aws_retry_strategy_acquire_retry_token and aws_retry_strategy_release will result in a fatal error.
aws_retry_strategy_new_standard
This is a retry implementation that cuts off traffic if it’s detected that an endpoint partition is having availability problems. This is necessary to keep from making outages worse by scheduling work that’s unlikely to succeed yet increases load on an already ailing system.
aws_retry_strategy_release
Releases a reference count on retry_strategy.
aws_retry_strategy_schedule_retry
Schedules a retry based on the backoff and token based strategies. retry_ready is invoked when the retry is either ready for execution or if it has been canceled due to application shutdown.
aws_retry_token_acquire
Increments reference count for token. This should be called any time you seat the token to a pointer you own.
aws_retry_token_record_success
Records a successful retry. This is used for making future decisions to open up token buckets, AIMD breakers etc… some strategies such as exponential backoff will ignore this, but you should always call it after a successful operation or your system will never recover during an outage.
aws_retry_token_release
Releases the reference count for token. This should always be invoked after either calling aws_retry_strategy_schedule_retry() and failing, or after calling aws_retry_token_record_success().
aws_round_up_to_power_of_two
Function to find the smallest result that is power of 2 >= n. Returns AWS_OP_ERR if this cannot be done without overflow
aws_s3_buffer_pool_acquire
aws_s3_buffer_pool_add_special_size
Optimize the buffer pool for allocations of a specific size. Creates a separate list of blocks dedicated to this size for better memory efficiency. Allocations of exactly this size will use these special blocks instead of the regular primary/secondary storage.
aws_s3_buffer_pool_derive_aligned_buffer_size
Align a range size to the buffer pool’s allocation strategy. This function determines the optimal aligned size based on the buffer pool’s configuration. For sizes within the primary allocation range, it aligns to chunk boundaries. For larger sizes that go to secondary storage, it returns the size as-is.
aws_s3_buffer_pool_release
aws_s3_buffer_pool_release_special_size
Release the special-sized blocks from the buffer pool. Should be called when done with the special-sized allocations.
aws_s3_buffer_pool_reserve
aws_s3_buffer_pool_trim
aws_s3_buffer_ticket_acquire
aws_s3_buffer_ticket_claim
aws_s3_buffer_ticket_release
aws_s3_client_acquire
Add a reference, keeping this object alive. The reference must be released when you are done with it, or it’s memory will never be cleaned up. You must not pass in NULL. Always returns the same pointer that was passed in.
aws_s3_client_dequeue_request_threaded
aws_s3_client_get_max_active_connections
aws_s3_client_get_max_requests_in_flight
aws_s3_client_get_max_requests_prepare
aws_s3_client_lock_synced_data
aws_s3_client_make_meta_request
aws_s3_client_new
aws_s3_client_notify_connection_finished
aws_s3_client_queue_requests_threaded
aws_s3_client_release
Release a reference. When the reference count drops to 0, this object will be cleaned up. It’s OK to pass in NULL (nothing happens). Always returns NULL.
aws_s3_client_schedule_process_work
aws_s3_client_unlock_synced_data
aws_s3_client_update_connections_threaded
aws_s3_client_update_meta_requests_threaded
aws_s3_client_update_upload_part_timeout
aws_s3_default_buffer_pool_acquire_buffer
aws_s3_default_buffer_pool_destroy
aws_s3_default_buffer_pool_get_usage
aws_s3_default_buffer_pool_new
aws_s3_default_buffer_pool_reserve
aws_s3_default_buffer_pool_trim
aws_s3_endpoint_acquire
aws_s3_endpoint_destroy
aws_s3_endpoint_new
aws_s3_endpoint_release
aws_s3_endpoint_resolver_new
Creates a new S3 endpoint resolver. Warning: Before using this header, you have to enable it by setting cmake config AWS_ENABLE_S3_ENDPOINT_RESOLVER=ON
aws_s3_endpoint_set_system_vtable
aws_s3_get_current_platform_ec2_intance_type
aws_s3_get_current_platform_info
aws_s3_get_platforms_with_recommended_config
aws_s3_init_default_signing_config
Initialize the configuration for a default S3 signing.
aws_s3_library_clean_up
Shuts down the internal datastructures used by aws-c-s3.
aws_s3_library_init
Initializes internal datastructures used by aws-c-s3. Must be called before using any functionality in aws-c-s3.
aws_s3_meta_request_acquire
Add a reference, keeping this object alive. The reference must be released when you are done with it, or it’s memory will never be cleaned up. You must not pass in NULL. Always returns the same pointer that was passed in.
aws_s3_meta_request_add_event_for_delivery_synced
aws_s3_meta_request_are_events_out_for_delivery_synced
aws_s3_meta_request_cancel
aws_s3_meta_request_cancel_cancellable_requests_synced
aws_s3_meta_request_cancel_pending_buffer_futures_synced
aws_s3_meta_request_checksum_config_has_algorithm
aws_s3_meta_request_checksum_config_storage_cleanup
aws_s3_meta_request_checksum_config_storage_init
aws_s3_meta_request_finish
aws_s3_meta_request_finish_default
aws_s3_meta_request_finished_request
aws_s3_meta_request_has_finish_result
aws_s3_meta_request_has_finish_result_synced
aws_s3_meta_request_increment_read_window
Increment the flow-control window, so that response data continues downloading.
aws_s3_meta_request_init_base
aws_s3_meta_request_init_signing_date_time_default
aws_s3_meta_request_is_active
aws_s3_meta_request_is_finished
aws_s3_meta_request_lock_synced_data
aws_s3_meta_request_pause
Note: pause is currently only supported on upload requests. In order to pause an ongoing upload, call aws_s3_meta_request_pause() that will return resume token. Token can be used to query the state of operation at the pausing time. To resume an upload that was paused, supply resume token in the meta request options structure member aws_s3_meta_request_options.resume_token. The upload can be resumed either from the same client or a different one. Corner cases for resume upload are as follows:
aws_s3_meta_request_poll_write
Attempt to write data.
aws_s3_meta_request_prepare_request
aws_s3_meta_request_read_body
aws_s3_meta_request_release
Release a reference. When the reference count drops to 0, this object will be cleaned up. It’s OK to pass in NULL (nothing happens). Always returns NULL.
aws_s3_meta_request_result_clean_up
aws_s3_meta_request_result_setup
aws_s3_meta_request_resume_token_acquire
aws_s3_meta_request_resume_token_new
aws_s3_meta_request_resume_token_new_upload
Create upload resume token from persisted data. Note: Data required for resume token varies per operation.
aws_s3_meta_request_resume_token_num_parts_completed
aws_s3_meta_request_resume_token_part_size
aws_s3_meta_request_resume_token_release
aws_s3_meta_request_resume_token_total_num_parts
aws_s3_meta_request_resume_token_type
aws_s3_meta_request_resume_token_upload_id
aws_s3_meta_request_schedule_prepare_request_default_impl
aws_s3_meta_request_send_request
aws_s3_meta_request_send_request_finish_default
aws_s3_meta_request_set_fail_synced
aws_s3_meta_request_set_success_synced
aws_s3_meta_request_sign_request_default
aws_s3_meta_request_sign_request_default_impl
aws_s3_meta_request_stream_response_body_synced
aws_s3_meta_request_unlock_synced_data
aws_s3_meta_request_update
aws_s3_meta_request_write
Write the next chunk of data.
aws_s3_request_acquire
aws_s3_request_clean_up_send_data
aws_s3_request_metrics_acquire
Add a reference, keeping this object alive. The reference must be released when you are done with it, or it’s memory will never be cleaned up. Always returns the same pointer that was passed in.
aws_s3_request_metrics_get_conn_acquire_duration_ns
aws_s3_request_metrics_get_conn_acquire_end_timestamp_ns
aws_s3_request_metrics_get_conn_acquire_start_timestamp_ns
aws_s3_request_metrics_get_connection_id
aws_s3_request_metrics_get_delivery_duration_ns
aws_s3_request_metrics_get_delivery_end_timestamp_ns
aws_s3_request_metrics_get_delivery_start_timestamp_ns
aws_s3_request_metrics_get_end_timestamp_ns
aws_s3_request_metrics_get_error_code
aws_s3_request_metrics_get_extended_request_id
Get the extended request ID from aws_s3_request_metrics. If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised. If available, out_extended_request_id will be set to a string. Be warned this string’s lifetime is tied to the metrics object.
aws_s3_request_metrics_get_host_address
Get the host_address of the request. If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised. If available, out_host_address will be set to a string. Be warned this string’s lifetime is tied to the metrics object.
aws_s3_request_metrics_get_ip_address
Get the IP address of the request connected to. If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised. If available, out_ip_address will be set to a string. Be warned this string’s lifetime is tied to the metrics object.
aws_s3_request_metrics_get_mem_acquire_duration_ns
aws_s3_request_metrics_get_mem_acquire_end_timestamp_ns
aws_s3_request_metrics_get_mem_acquire_start_timestamp_ns
aws_s3_request_metrics_get_memory_allocated_from_pool
aws_s3_request_metrics_get_operation_name
Get the S3 operation name of the request (e.g. “HeadObject”). If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised. If available, out_operation_name will be set to a string. Be warned this string’s lifetime is tied to the metrics object.
aws_s3_request_metrics_get_part_number
aws_s3_request_metrics_get_part_range_end
aws_s3_request_metrics_get_part_range_start
aws_s3_request_metrics_get_receive_end_timestamp_ns
aws_s3_request_metrics_get_receive_start_timestamp_ns
aws_s3_request_metrics_get_receiving_duration_ns
aws_s3_request_metrics_get_request_id
Getters for s3 request metrics **********************************************/ / Get the request ID from aws_s3_request_metrics. If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised. If available, out_request_id will be set to a string. Be warned this string’s lifetime is tied to the metrics object.
aws_s3_request_metrics_get_request_path_query
Get the path and query of the request. If unavailable, AWS_ERROR_S3_METRIC_DATA_NOT_AVAILABLE will be raised. If available, out_request_path_query will be set to a string. Be warned this string’s lifetime is tied to the metrics object.
aws_s3_request_metrics_get_request_ptr
aws_s3_request_metrics_get_request_stream_id
aws_s3_request_metrics_get_request_type
aws_s3_request_metrics_get_response_headers
aws_s3_request_metrics_get_response_status_code
aws_s3_request_metrics_get_retry_attempt
aws_s3_request_metrics_get_retry_delay_duration_ns
aws_s3_request_metrics_get_retry_delay_end_timestamp_ns
aws_s3_request_metrics_get_retry_delay_start_timestamp_ns
aws_s3_request_metrics_get_s3_request_first_attempt_start_timestamp_ns
aws_s3_request_metrics_get_s3_request_last_attempt_end_timestamp_ns
aws_s3_request_metrics_get_s3_request_total_duration_ns
aws_s3_request_metrics_get_send_end_timestamp_ns
aws_s3_request_metrics_get_send_start_timestamp_ns
aws_s3_request_metrics_get_sending_duration_ns
aws_s3_request_metrics_get_service_call_duration_ns
aws_s3_request_metrics_get_sign_end_timestamp_ns
aws_s3_request_metrics_get_sign_start_timestamp_ns
aws_s3_request_metrics_get_signing_duration_ns
aws_s3_request_metrics_get_start_timestamp_ns
aws_s3_request_metrics_get_thread_id
aws_s3_request_metrics_get_total_duration_ns
aws_s3_request_metrics_new
aws_s3_request_metrics_release
Release a reference. When the reference count drops to 0, this object will be cleaned up. It’s OK to pass in NULL (nothing happens). Always returns NULL.
aws_s3_request_new
aws_s3_request_release
aws_s3_request_setup_send_data
aws_s3_request_type_operation_name
Return operation name for aws_s3_request_type, or empty string if the type doesn’t map to an actual operation. For example: AWS_S3_REQUEST_TYPE_HEAD_OBJECT -> “HeadObject” AWS_S3_REQUEST_TYPE_UNKNOWN -> “” AWS_S3_REQUEST_TYPE_MAX -> “”
aws_s3_set_dns_ttl
aws_sdkutils_library_clean_up
aws_sdkutils_library_init
aws_secure_strlen
Computes the length of a c string in bytes assuming the character set is either ASCII or UTF-8. If no NULL character is found within max_read_len of str, AWS_ERROR_C_STRING_BUFFER_NOT_NULL_TERMINATED is raised. Otherwise, str_len will contain the string length minus the NULL character, and AWS_OP_SUCCESS will be returned.
aws_secure_zero
Securely zeroes a memory buffer. This function will attempt to ensure that the compiler will not optimize away this zeroing operation.
aws_server_bootstrap_acquire
Increments a server bootstrap’s ref count, allowing the caller to take a reference to it.
aws_server_bootstrap_destroy_socket_listener
Shuts down ‘listener’ and cleans up any resources associated with it. Any incoming channels on listener will still be active. destroy_callback will be invoked after the server socket listener is destroyed, and all associated connections and channels have finished shutting down.
aws_server_bootstrap_new
Initializes the server bootstrap with allocator and el_group. This object manages listeners, server connections, and channels.
aws_server_bootstrap_new_socket_listener
Sets up a server socket listener. If you are planning on using TLS, use aws_server_bootstrap_new_tls_socket_listener instead. This creates a socket listener bound to local_endpoint using socket options options. incoming_callback will be invoked once an incoming channel is ready for use or if an error is encountered. shutdown_callback will be invoked once the channel has shutdown. destroy_callback will be invoked after the server socket listener is destroyed, and all associated connections and channels have finished shutting down. Immediately after the shutdown_callback returns, the channel is cleaned up automatically. All callbacks are invoked the thread of the event-loop that the listening socket is assigned to
aws_server_bootstrap_release
Decrements a server bootstrap’s ref count. When the ref count drops to zero, the bootstrap will be destroyed.
aws_server_bootstrap_set_alpn_callback
When using TLS, if ALPN is used, this callback will be invoked from the channel. The returned handler will be added to the channel.
aws_set_global_error_handler_fn
aws_set_md5_new_fn
Set the implementation of md5 to use. If you compiled without BYO_CRYPTO, you do not need to call this. However, if use this, we will honor it, regardless of compile options. This may be useful for testing purposes. If you did set BYO_CRYPTO, and you do not call this function you will segfault.
aws_set_sha1_new_fn
Set the implementation of sha1 to use. If you compiled without BYO_CRYPTO, you do not need to call this. However, if use this, we will honor it, regardless of compile options. This may be useful for testing purposes. If you did set BYO_CRYPTO, and you do not call this function you will segfault.
aws_set_sha256_new_fn
Set the implementation of sha256 to use. If you compiled without BYO_CRYPTO, you do not need to call this. However, if use this, we will honor it, regardless of compile options. This may be useful for testing purposes. If you did set BYO_CRYPTO, and you do not call this function you will segfault.
aws_set_sha512_new_fn
Set the implementation of sha512 to use. If you compiled without BYO_CRYPTO, you do not need to call this. However, if use this, we will honor it, regardless of compile options. This may be useful for testing purposes. If you did set BYO_CRYPTO, and you do not call this function you will segfault.
aws_set_thread_local_error_handler_fn
aws_sha1_compute
Computes the sha1 hash over input and writes the digest output to ‘output’. Use this if you don’t need to stream the data you’re hashing and you can load the entire input to hash into memory. If you specify truncate_to to something other than 0, the output will be truncated to that number of bytes. For example, if you want a SHA1 digest as the first 16 bytes, set truncate_to to 16. If you want the full digest size, just set this to 0.
aws_sha1_new
Allocates and initializes a sha1 hash instance.
aws_sha256_compute
Computes the sha256 hash over input and writes the digest output to ‘output’. Use this if you don’t need to stream the data you’re hashing and you can load the entire input to hash into memory. If you specify truncate_to to something other than 0, the output will be truncated to that number of bytes. For example, if you want a SHA256 digest as the first 16 bytes, set truncate_to to 16. If you want the full digest size, just set this to 0.
aws_sha256_new
Allocates and initializes a sha256 hash instance.
aws_sha512_compute
Computes the sha512 hash over input and writes the digest output to ‘output’. Use this if you don’t need to stream the data you’re hashing and you can load the entire input to hash into memory. If you specify truncate_to to something other than 0, the output will be truncated to that number of bytes. For example, if you want a SHA512 digest as the first 16 bytes, set truncate_to to 16. If you want the full digest size, just set this to 0.
aws_sha512_new
Allocates and initializes a sha512 hash instance.
aws_sign_request_aws
(Asynchronous) entry point to sign something (a request, a chunk, an event) with an AWS signing process. Depending on the configuration, the signing process may or may not complete synchronously.
aws_signing_algorithm_to_string
Returns a c-string that describes the supplied signing algorithm
aws_small_block_allocator_bytes_active
aws_small_block_allocator_bytes_reserved
aws_small_block_allocator_destroy
aws_small_block_allocator_new
aws_small_block_allocator_page_size
aws_small_block_allocator_page_size_available
aws_string_bytes
Equivalent to str->bytes.
aws_string_c_str
Equivalent to (const char *)str->bytes.
aws_string_clone_or_reuse
If the string was dynamically allocated, clones it. If the string was statically allocated (i.e. has no allocator), returns the original string.
aws_string_compare
Compares lexicographical ordering of two strings. This is a binary byte-by-byte comparison, treating bytes as unsigned integers. It is suitable for either textual or binary data and is unaware of unicode or any other byte encoding. If both strings are identical in the bytes of the shorter string, then the longer string is lexicographically after the shorter.
aws_string_destroy
Deallocate string.
aws_string_destroy_secure
Zeroes out the data bytes of string and then deallocates the memory. Not safe to run on a string created with AWS_STATIC_STRING_FROM_LITERAL.
aws_string_eq
Returns true if bytes of string are the same, false otherwise.
aws_string_eq_byte_buf
Returns true if bytes of string and buffer are the same, false otherwise.
aws_string_eq_byte_buf_ignore_case
Returns true if bytes of string and buffer are equivalent, using a case-insensitive comparison.
aws_string_eq_byte_cursor
Returns true if bytes of string and cursor are the same, false otherwise.
aws_string_eq_byte_cursor_ignore_case
Returns true if bytes of string and cursor are equivalent, using a case-insensitive comparison.
aws_string_eq_c_str
aws_string_eq_c_str_ignore_case
Returns true if bytes of strings are equivalent, using a case-insensitive comparison.
aws_string_eq_ignore_case
Returns true if bytes of string are equivalent, using a case-insensitive comparison.
aws_string_is_valid
Evaluates the set of properties that define the shape of all valid aws_string structures. It is also a cheap check, in the sense it run in constant time (i.e., no loops or recursion).
aws_string_new_from_array
Allocate a new string with the same contents as array.
aws_string_new_from_buf
Allocate a new string with the same contents as buf.
aws_string_new_from_c_str
Constructor functions which copy data from null-terminated C-string or array of bytes.
aws_string_new_from_cursor
Allocate a new string with the same contents as cursor.
aws_string_new_from_string
Allocate a new string with the same contents as another string.
aws_string_to_log_level
Converts a c-string constant to a log level value. Uses case-insensitive comparison and simply iterates all possibilities until a match or nothing remains. If no match is found, AWS_OP_ERR is returned.
aws_sub_size_checked
If a - b overflows, returns AWS_OP_ERR; otherwise subtracts a - b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_sub_size_saturating
Subtracts a - b. If the result overflows returns 0.
aws_sub_u32_checked
If a - b overflows, returns AWS_OP_ERR; otherwise subtracts a - b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_sub_u32_saturating
Subtracts a - b. If the result overflows returns 0.
aws_sub_u64_checked
If a - b overflows, returns AWS_OP_ERR; otherwise subtracts a - b, returns the result in *r, and returns AWS_OP_SUCCESS.
aws_sub_u64_saturating
Subtracts a - b. If the result overflows returns 0.
aws_task_init
Init an aws_task
aws_task_run
aws_task_scheduler_cancel_task
Removes task from the scheduler and invokes the task with the AWS_TASK_STATUS_CANCELED status.
aws_task_scheduler_clean_up
Empties and executes all queued tasks, passing the AWS_TASK_STATUS_CANCELED status to the task function. Cleans up any memory allocated, and prepares the instance for reuse or deletion.
aws_task_scheduler_has_tasks
Returns whether the scheduler has any scheduled tasks. next_task_time (optional) will be set to time of the next task, note that 0 will be set if tasks were added via aws_task_scheduler_schedule_now() and UINT64_MAX will be set if no tasks are scheduled at all.
aws_task_scheduler_init
Initializes a task scheduler instance.
aws_task_scheduler_is_valid
aws_task_scheduler_run_all
Sequentially execute all tasks scheduled to run at, or before current_time. AWS_TASK_STATUS_RUN_READY will be passed to the task function as the task status.
aws_task_scheduler_schedule_future
Schedules a task to run at time_to_run. The task should not be cleaned up or modified until its function is executed.
aws_task_scheduler_schedule_now
Schedules a task to run immediately. The task should not be cleaned up or modified until its function is executed.
aws_task_status_to_c_str
Convert a status value to a c-string suitable for logging
aws_thread_call_once
aws_thread_clean_up
Cleans up the thread handle. Don’t call this on a managed thread. If you wish to join the thread, you must join before calling this function.
aws_thread_current_at_exit
Adds a callback to the chain to be called when the current thread joins. Callbacks are called from the current thread, in the reverse order they were added, after the thread function returns. If not called from within an aws_thread, has no effect.
aws_thread_current_name
Gets name of the current thread. Caller is responsible for destroying returned string. If thread does not have a name, AWS_OP_SUCCESS is returned and out_name is set to NULL. If underlying OS call fails, AWS_ERROR_SYS_CALL_FAILURE will be raised If OS does not support getting thread name, AWS_ERROR_PLATFORM_NOT_SUPPORTED will be raised
aws_thread_current_sleep
Sleeps the current thread by nanos.
aws_thread_current_thread_id
Returns the thread id of the calling thread.
aws_thread_decrement_unjoined_count
Decrements the count of unjoined threads in the managed thread system. Used by managed threads and event loop threads. Additional usage requires the user to join corresponding threads themselves and correctly increment/decrement even in the face of launch/join errors.
aws_thread_get_detach_state
Gets the detach state of the thread. For example, is it safe to call join on this thread? Has it been detached()?
aws_thread_get_id
Gets the id of thread
aws_thread_id_t_to_string
Converts an aws_thread_id_t to a c-string. For portability, aws_thread_id_t must not be printed directly. Intended primarily to support building log lines that include the thread id in them. The parameter buffer must point-to a char buffer of length bufsz == AWS_THREAD_ID_T_REPR_BUFSZ. The thread id representation is returned in buffer.
aws_thread_increment_unjoined_count
Increments the count of unjoined threads in the managed thread system. Used by managed threads and event loop threads. Additional usage requires the user to join corresponding threads themselves and correctly increment/decrement even in the face of launch/join errors.
aws_thread_init
Initializes a new platform specific thread object struct (not the os-level thread itself).
aws_thread_join
Joins the calling thread to a thread instance. Returns when thread is finished. Calling this from the associated OS thread will cause a deadlock.
aws_thread_join_all_managed
Blocking call that waits for all managed threads to complete their join call. This can only be called from the main thread or a non-managed thread.
aws_thread_launch
Creates an OS level thread and associates it with func. context will be passed to func when it is executed. options will be applied to the thread if they are applicable for the platform.
aws_thread_name
Gets name of the thread. Caller is responsible for destroying returned string. If thread does not have a name, AWS_OP_SUCCESS is returned and out_name is set to NULL. If underlying OS call fails, AWS_ERROR_SYS_CALL_FAILURE will be raised If OS does not support getting thread name, AWS_ERROR_PLATFORM_NOT_SUPPORTED will be raised
aws_thread_set_managed_join_timeout_ns
Overrides how long, in nanoseconds, that aws_thread_join_all_managed will wait for threads to complete. A value of zero will result in an unbounded wait.
aws_thread_thread_id_equal
Compare thread ids.
aws_translate_and_raise_io_error
Convert a c library io error into an aws error, and raise it. If no conversion is found, AWS_ERROR_SYS_CALL_FAILURE is raised. Always returns AWS_OP_ERR.
aws_translate_and_raise_io_error_or
Convert a c library io error into an aws error, and raise it. If no conversion is found, fallback_aws_error_code is raised. Always returns AWS_OP_ERR.
aws_trim_padded_sigv4a_signature
Removes any padding added to the end of a sigv4a signature. Signature must be hex-encoded. @param signature signature to remove padding from @return cursor that ranges over only the valid hex encoding of the sigv4a signature
aws_unregister_error_info
aws_unregister_log_subject_info_list
Disconnects log subject strings with log subject integer values
aws_uri_authority
Returns the authority portion of the uri (host[:port]). If it was not present, this was a request uri. In that case, the value will be empty.
aws_uri_clean_up
aws_uri_host_name
Returns the ‘host_name’ portion of the authority. If no authority was present, this value will be empty.
aws_uri_init_from_builder_options
Initializes uri to values specified in options. Returns AWS_OP_SUCCESS, on success, AWS_OP_ERR on failure. After calling this function, the parts can be accessed.
aws_uri_init_parse
Parses ‘uri_str’ and initializes uri. Returns AWS_OP_SUCCESS, on success, AWS_OP_ERR on failure. After calling this function, the parts can be accessed.
aws_uri_path
Returns the path portion of the uri, including any leading ‘/’. If not present, this value will be empty.
aws_uri_path_and_query
Returns the path and query portion of the uri (i.e., the thing you send across the wire).
aws_uri_port
Returns the port portion of the authority if it was present, otherwise, returns 0. If this is 0, it is the users job to determine the correct port based on scheme and protocol.
aws_uri_query_string
Returns the query string portion of the uri, minus the ‘?’. If not present, this value will be empty.
aws_uri_query_string_next_param
For iterating over the params in the uri query string. param is an in/out argument used to track progress, it MUST be zeroed out to start. If true is returned, param contains the value of the next param. If false is returned, there are no further params.
aws_uri_query_string_params
Parses query string and stores the parameters in ‘out_params’. Returns AWS_OP_SUCCESS on success and AWS_OP_ERR on failure. The user is responsible for initializing out_params with item size of struct aws_query_param. The user is also responsible for cleaning up out_params when finished.
aws_uri_scheme
Returns the scheme portion of the uri (e.g. http, https, ftp, ftps, etc…). If the scheme was not present in the uri, the returned value will be empty. It is the users job to determine the appropriate defaults if this field is empty, based on protocol, port, etc…
aws_validate_aws_signing_config_aws
Checks a signing configuration for invalid settings combinations.
aws_validate_v4a_authorization_value
Another helper function to check a computed sigv4a signature.
aws_verify_sigv4a_signing
Test-only API used for cross-library signing verification tests

Type Aliases§

__builtin_va_list
__gnuc_va_list
aws_array_list_comparator_fn
Prototype for a comparator function for sorting elements.
aws_byte_predicate_fn
Signature for function argument to trim APIs
aws_channel_on_message_write_completed_fn
aws_channel_on_protocol_negotiated_fn
If ALPN is being used this function will be invoked by the channel once an ALPN message is received. The returned channel_handler will be added to, and managed by, the channel.
aws_channel_on_setup_completed_fn
aws_channel_on_shutdown_completed_fn
aws_channel_task_fn
aws_client_bootstrap_on_channel_event_fn
Generic event function for channel lifecycle events.
aws_client_bootstrap_shutdown_complete_fn
Called after client bootstrap has been completely cleaned up, after its last refcount is released.
aws_credentials_provider_cognito_get_token_pairs_async_fn
aws_credentials_provider_cognito_get_token_pairs_completion_fn
aws_credentials_provider_delegate_get_credentials_fn
aws_credentials_provider_destroy_fn
aws_credentials_provider_get_credentials_fn
aws_credentials_provider_shutdown_completed_fn
aws_crt_statistics_category_t
aws_crt_statistics_handler_destroy_fn
aws_crt_statistics_handler_get_report_interval_ms_fn
aws_crt_statistics_handler_process_statistics_fn
aws_error_handler_fn
aws_event_loop_on_event_fn
@internal
aws_future_callback_fn
Completion callback for aws_future
aws_future_impl_result_clean_up_fn
aws_future_impl_result_destroy_fn
aws_future_impl_result_release_fn
aws_generate_random_fn
Optional function to supply your own generate random implementation
aws_hash_callback_destroy_fn
Prototype for a hash table key or value destructor function pointer.
aws_hash_callback_eq_fn
Prototype for a hash table equality check function pointer.
aws_hash_fn
Prototype for a key hashing function pointer.
aws_hash_new_fn
aws_http1_stream_write_chunk_complete_fn
Invoked when the data of an outgoing HTTP/1.1 chunk is no longer in use. This is always invoked on the HTTP connection’s event-loop thread.
aws_http2_on_change_settings_complete_fn
Invoked when the HTTP/2 settings change is complete. If connection setup successfully this will always be invoked whether settings change successfully or unsuccessfully. If error_code is AWS_ERROR_SUCCESS (0), then the peer has acknowledged the settings and the change has been applied. If error_code is non-zero, then a connection error occurred before the settings could be fully acknowledged and applied. This is always invoked on the connection’s event-loop thread.
aws_http2_on_goaway_received_fn
Invoked when an HTTP/2 GOAWAY frame is received from peer. Implies that the peer has initiated shutdown, or encountered a serious error. Once a GOAWAY is received, no further streams may be created on this connection.
aws_http2_on_ping_complete_fn
Invoked when the HTTP/2 PING completes, whether peer has acknowledged it or not. If error_code is AWS_ERROR_SUCCESS (0), then the peer has acknowledged the PING and round_trip_time_ns will be the round trip time in nano seconds for the connection. If error_code is non-zero, then a connection error occurred before the PING get acknowledgment and round_trip_time_ns will be useless in this case.
aws_http2_on_remote_settings_change_fn
Invoked when new HTTP/2 settings from peer have been applied. Settings_array is the array of aws_http2_settings that contains all the settings we just changed in the order we applied (the order settings arrived). Num_settings is the number of elements in that array.
aws_http2_stream_write_data_complete_fn
Invoked when the data of an outgoing HTTP2 data frame is no longer in use. This is always invoked on the HTTP connection’s event-loop thread.
aws_http_connection_manager_on_connection_setup_fn
aws_http_connection_manager_shutdown_complete_fn
aws_http_message_transform_complete_fn
Function to invoke when a message transformation completes. This function MUST be invoked or the application will soft-lock. message and complete_ctx must be the same pointers provided to the aws_http_message_transform_fn. error_code should should be AWS_ERROR_SUCCESS if transformation was successful, otherwise pass a different AWS_ERROR_X value.
aws_http_message_transform_fn
A function that may modify a request or response before it is sent. The transformation may be asynchronous or immediate. The user MUST invoke the complete_fn when transformation is complete or the application will soft-lock. When invoking the complete_fn, pass along the message and complete_ctx provided here and an error code. The error code should be AWS_ERROR_SUCCESS if transformation was successful, otherwise pass a different AWS_ERROR_X value.
aws_http_on_client_connection_setup_fn
Invoked when connect completes.
aws_http_on_client_connection_shutdown_fn
Invoked when the connection has finished shutting down. Never invoked if on_setup failed. This is always invoked on connection’s event-loop thread. Note that the connection is not completely done until on_shutdown has been invoked AND aws_http_connection_release() has been called.
aws_http_on_incoming_body_fn
Called repeatedly as body data is received. The data must be copied immediately if you wish to preserve it. This is always invoked on the HTTP connection’s event-loop thread.
aws_http_on_incoming_header_block_done_fn
Invoked when the incoming header block of this type(informational/main/trailing) has been completely read. This is always invoked on the HTTP connection’s event-loop thread.
aws_http_on_incoming_headers_fn
Invoked repeatedly times as headers are received. At this point, aws_http_stream_get_incoming_response_status() can be called for the client. And aws_http_stream_get_incoming_request_method() and aws_http_stream_get_incoming_request_uri() can be called for the server. This is always invoked on the HTTP connection’s event-loop thread.
aws_http_on_incoming_request_done_fn
Invoked when request has been completely read. This is always invoked on the HTTP connection’s event-loop thread.
aws_http_on_stream_complete_fn
Invoked when a request/response stream is complete, whether successful or unsuccessful This is always invoked on the HTTP connection’s event-loop thread. This will not be invoked if the stream is never activated.
aws_http_on_stream_destroy_fn
Invoked when request/response stream destroy completely. This can be invoked within the same thead who release the refcount on http stream. This is invoked even if the stream is never activated.
aws_http_on_stream_metrics_fn
Invoked right before request/response stream is complete to report the tracing metrics for aws_http_stream. This may be invoked synchronously when aws_http_stream_release() is called. This is invoked even if the stream is never activated. See aws_http_stream_metrics for details.
aws_http_proxy_negotiation_connect_on_incoming_headers_fn
Tunneling proxy connections only. A callback that lets the negotiator examine the headers in the response to the most recent CONNECT request as they arrive.
aws_http_proxy_negotiation_get_challenge_token_sync_fn
Synchronous (for now) callback function to fetch a token used in modifying CONNECT request. Includes a (byte string) context intended to be used as part of a challenge-response flow.
aws_http_proxy_negotiation_get_token_sync_fn
Synchronous (for now) callback function to fetch a token used in modifying CONNECT requests
aws_http_proxy_negotiation_http_request_forward_fn
Proxy negotiation logic must call this function to forward the potentially-mutated request back to the proxy connection logic.
aws_http_proxy_negotiation_http_request_transform_async_fn
User-supplied transform callback which implements the proxy request flow and ultimately, across all execution pathways, invokes either the terminate function or the forward function appropriately.
aws_http_proxy_negotiation_http_request_transform_fn
aws_http_proxy_negotiation_terminate_fn
Proxy negotiation logic must call this function to indicate an unsuccessful outcome
aws_http_proxy_negotiator_connect_on_incoming_body_fn
Tunneling proxy connections only. A callback that lets the negotiator examine the body of the response to the most recent CONNECT request.
aws_http_proxy_negotiator_connect_status_fn
Tunneling proxy connections only. A callback that lets the negotiator examine the status code of the response to the most recent CONNECT request.
aws_http_proxy_negotiator_get_retry_directive_fn
aws_http_proxy_strategy_create_negotiator_fn
aws_http_statistics_observer_fn
Callback invoked on each statistics sample.
aws_http_stream_write_complete_fn
Invoked when the data stream of an outgoing HTTP write operation is no longer in use. This is always invoked on the HTTP connection’s event-loop thread.
aws_imds_client_on_get_array_callback_fn
aws_imds_client_on_get_credentials_callback_fn
aws_imds_client_on_get_iam_profile_callback_fn
aws_imds_client_on_get_instance_info_callback_fn
aws_imds_client_on_get_resource_callback_fn
aws_imds_client_shutdown_completed_fn
aws_io_clock_fn
aws_io_set_queue_on_handle_fn
aws_log_channel_clean_up_fn
aws_log_channel_send_fn
aws_log_formatter_clean_up_fn
aws_log_formatter_format_fn
aws_log_subject_t
Log subject is a way of designating the topic of logging.
aws_log_writer_clean_up_fn
aws_log_writer_write_fn
aws_off_t
@deprecated Use int64_t instead for offsets in public APIs.
aws_on_get_credentials_callback_fn
aws_on_host_resolved_result_fn
Invoked once an address has been resolved for host. The type in host_addresses is struct aws_host_address (by-value). The caller does not own this memory and you must copy the host address before returning from this function if you plan to use it later. For convenience, we’ve provided the aws_host_address_copy() and aws_host_address_clean_up() functions.
aws_priority_queue_compare_fn
aws_resolve_host_implementation_fn
Function signature for configuring your own resolver (the default just uses getaddrinfo()). The type in output_addresses is struct aws_host_address (by-value). We assume this function blocks, hence this absurdly complicated design.
aws_retry_strategy_on_retry_ready_fn
Invoked after a successful call to aws_retry_strategy_schedule_retry(). This function will always be invoked if and only if aws_retry_strategy_schedule_retry() returns AWS_OP_SUCCESS. It will never be invoked synchronously from aws_retry_strategy_schedule_retry(). After attempting the operation, either call aws_retry_strategy_schedule_retry() with an aws_retry_error_type or call aws_retry_token_record_success() and then release the token via. aws_retry_token_release().
aws_retry_strategy_on_retry_token_acquired_fn
Invoked upon the acquisition, or failure to acquire a retry token. This function will always be invoked if and only if aws_retry_strategy_acquire_retry_token() returns AWS_OP_SUCCESS. It will never be invoked synchronously from aws_retry_strategy_acquire_retry_token(). Token will always be NULL if error_code is non-zero, and vice-versa. If token is non-null, it will have a reference count of 1, and you must call aws_retry_token_release() on it later. See the comments for aws_retry_strategy_on_retry_ready_fn for more info.
aws_s3_buffer_pool_factory_fn
Factory to construct the pool for the given config. Passes along buffer related info configured on the client, which factory may ignore when considering how to construct pool. This implementation should fail if pool cannot be constructed for some reason (ex. if config params cannot be met), by logging failure reason, returning null and raising aws_error.
aws_s3_client_shutdown_complete_callback_fn
aws_s3_endpoint_shutdown_fn
aws_s3_meta_request_finish_fn
Invoked when the entire meta request execution is complete.
aws_s3_meta_request_full_object_checksum_fn
Optional callback, for you to provide the full object checksum after the object was read. Client will NOT check the checksum provided before sending it to the server.
aws_s3_meta_request_headers_callback_fn
Invoked to provide response headers received during execution of the meta request, both for success and error HTTP status codes.
aws_s3_meta_request_prepare_request_callback_fn
aws_s3_meta_request_progress_fn
Invoked to report progress of a meta-request. For PutObject, progress refers to bytes uploaded. For CopyObject, progress refers to bytes copied. For GetObject, progress refers to bytes downloaded. For anything else, progress refers to response body bytes received.
aws_s3_meta_request_receive_body_callback_ex_fn
aws_s3_meta_request_receive_body_callback_fn
Invoked to provide the response body as it is received.
aws_s3_meta_request_shutdown_fn
aws_s3_meta_request_telemetry_fn
Invoked to report the telemetry of the meta request once a single request finishes. Note: *metrics is only valid for the duration of the callback. If you need to keep it around, use aws_s3_request_metrics_acquire
aws_s3_meta_request_upload_review_fn
Optional callback, for you to review an upload before it completes. For example, you can review each part’s checksum and fail the upload if you do not agree with them.
aws_s3express_provider_factory_fn
The factory function for S3 client to create a S3 Express credentials provider. The S3 client will be the only owner of the S3 Express credentials provider.
aws_server_bootstrap_on_accept_channel_setup_fn
If TLS is being used, this function is called once the socket has received an incoming connection, the channel has been initialized, and TLS has been successfully negotiated. A TLS handler has already been added to the channel. If TLS negotiation fails, this function will be called with the corresponding error code.
aws_server_bootstrap_on_accept_channel_shutdown_fn
Once the channel shuts down, this function will be invoked within the thread of the event-loop that the channel is assigned to.
aws_server_bootstrap_on_listener_setup_fn
This function is only used for async listener (Apple Network Framework in this case). Once the server listener socket is finished setup and starting listening, this fuction will be invoked.
aws_server_bootstrap_on_server_listener_destroy_fn
Once the server listener socket is finished destroying, and all the existing connections are closed, this fuction will be invoked.
aws_should_sign_header_fn
aws_signing_complete_fn
Gets called by the signing function when the signing is complete.
aws_simple_completion_callback
aws_task_fn
A scheduled function.
aws_thread_atexit_fn
aws_thread_id_t
aws_thread_once
pthread_once_t
va_list

Unions§

aws_http_proxy_negotiator__bindgen_ty_1
aws_io_handle__bindgen_ty_1
aws_s3_checksum__bindgen_ty_1
aws_s3_meta_request_event__bindgen_ty_1
aws_task__bindgen_ty_1