Lesson 35 - Get Compute Auth Token Working
This commit is contained in:
282
Plugins/GameLiftPlugin/Source/AWSSDK/Include/aws/io/io.h
Normal file
282
Plugins/GameLiftPlugin/Source/AWSSDK/Include/aws/io/io.h
Normal file
@@ -0,0 +1,282 @@
|
||||
#ifndef AWS_IO_IO_H
|
||||
#define AWS_IO_IO_H
|
||||
|
||||
/**
|
||||
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0.
|
||||
*/
|
||||
#include <aws/common/byte_buf.h>
|
||||
#include <aws/common/common.h>
|
||||
#include <aws/common/linked_list.h>
|
||||
#include <aws/io/exports.h>
|
||||
|
||||
AWS_PUSH_SANE_WARNING_LEVEL
|
||||
|
||||
#define AWS_C_IO_PACKAGE_ID 1
|
||||
|
||||
struct aws_io_handle {
|
||||
union {
|
||||
int fd;
|
||||
void *handle;
|
||||
} data;
|
||||
void *additional_data;
|
||||
};
|
||||
|
||||
enum aws_io_message_type {
|
||||
AWS_IO_MESSAGE_APPLICATION_DATA,
|
||||
};
|
||||
|
||||
struct aws_io_message;
|
||||
struct aws_channel;
|
||||
|
||||
typedef void(aws_channel_on_message_write_completed_fn)(
|
||||
struct aws_channel *channel,
|
||||
struct aws_io_message *message,
|
||||
int err_code,
|
||||
void *user_data);
|
||||
|
||||
struct aws_io_message {
|
||||
/**
|
||||
* Allocator used for the message and message data. If this is null, the message belongs to a pool or some other
|
||||
* message manager.
|
||||
*/
|
||||
struct aws_allocator *allocator;
|
||||
|
||||
/**
|
||||
* Buffer containing the data for message
|
||||
*/
|
||||
struct aws_byte_buf message_data;
|
||||
|
||||
/**
|
||||
* type of the message. This is used for framework control messages. Currently the only type is
|
||||
* AWS_IO_MESSAGE_APPLICATION_DATA
|
||||
*/
|
||||
enum aws_io_message_type message_type;
|
||||
|
||||
/**
|
||||
* Conveys information about the contents of message_data (e.g. cast the ptr to some type). If 0, it's just opaque
|
||||
* data.
|
||||
*/
|
||||
int message_tag;
|
||||
|
||||
/**
|
||||
* In order to avoid excess allocations/copies, on a partial read or write, the copy mark is set to indicate how
|
||||
* much of this message has already been processed or copied.
|
||||
*/
|
||||
size_t copy_mark;
|
||||
|
||||
/**
|
||||
* The channel that the message is bound to.
|
||||
*/
|
||||
struct aws_channel *owning_channel;
|
||||
|
||||
/**
|
||||
* Invoked by the channel once the entire message has been written to the data sink.
|
||||
*/
|
||||
aws_channel_on_message_write_completed_fn *on_completion;
|
||||
|
||||
/**
|
||||
* arbitrary user data for the on_completion callback
|
||||
*/
|
||||
void *user_data;
|
||||
|
||||
/** it's incredibly likely something is going to need to queue this,
|
||||
* go ahead and make sure the list info is part of the original allocation.
|
||||
*/
|
||||
struct aws_linked_list_node queueing_handle;
|
||||
};
|
||||
|
||||
typedef int(aws_io_clock_fn)(uint64_t *timestamp);
|
||||
|
||||
enum aws_io_errors {
|
||||
AWS_IO_CHANNEL_ERROR_ERROR_CANT_ACCEPT_INPUT = AWS_ERROR_ENUM_BEGIN_RANGE(AWS_C_IO_PACKAGE_ID),
|
||||
AWS_IO_CHANNEL_UNKNOWN_MESSAGE_TYPE,
|
||||
AWS_IO_CHANNEL_READ_WOULD_EXCEED_WINDOW,
|
||||
AWS_IO_EVENT_LOOP_ALREADY_ASSIGNED,
|
||||
AWS_IO_EVENT_LOOP_SHUTDOWN,
|
||||
AWS_IO_TLS_ERROR_NEGOTIATION_FAILURE,
|
||||
AWS_IO_TLS_ERROR_NOT_NEGOTIATED,
|
||||
AWS_IO_TLS_ERROR_WRITE_FAILURE,
|
||||
AWS_IO_TLS_ERROR_ALERT_RECEIVED,
|
||||
AWS_IO_TLS_CTX_ERROR,
|
||||
AWS_IO_TLS_VERSION_UNSUPPORTED,
|
||||
AWS_IO_TLS_CIPHER_PREF_UNSUPPORTED,
|
||||
AWS_IO_MISSING_ALPN_MESSAGE,
|
||||
AWS_IO_UNHANDLED_ALPN_PROTOCOL_MESSAGE,
|
||||
AWS_IO_FILE_VALIDATION_FAILURE,
|
||||
AWS_ERROR_IO_EVENT_LOOP_THREAD_ONLY,
|
||||
AWS_ERROR_IO_ALREADY_SUBSCRIBED,
|
||||
AWS_ERROR_IO_NOT_SUBSCRIBED,
|
||||
AWS_ERROR_IO_OPERATION_CANCELLED,
|
||||
AWS_IO_READ_WOULD_BLOCK,
|
||||
AWS_IO_BROKEN_PIPE,
|
||||
AWS_IO_SOCKET_UNSUPPORTED_ADDRESS_FAMILY,
|
||||
AWS_IO_SOCKET_INVALID_OPERATION_FOR_TYPE,
|
||||
AWS_IO_SOCKET_CONNECTION_REFUSED,
|
||||
AWS_IO_SOCKET_TIMEOUT,
|
||||
AWS_IO_SOCKET_NO_ROUTE_TO_HOST,
|
||||
AWS_IO_SOCKET_NETWORK_DOWN,
|
||||
AWS_IO_SOCKET_CLOSED,
|
||||
AWS_IO_SOCKET_NOT_CONNECTED,
|
||||
AWS_IO_SOCKET_INVALID_OPTIONS,
|
||||
AWS_IO_SOCKET_ADDRESS_IN_USE,
|
||||
AWS_IO_SOCKET_INVALID_ADDRESS,
|
||||
AWS_IO_SOCKET_ILLEGAL_OPERATION_FOR_STATE,
|
||||
AWS_IO_SOCKET_CONNECT_ABORTED,
|
||||
AWS_IO_DNS_QUERY_FAILED,
|
||||
AWS_IO_DNS_INVALID_NAME,
|
||||
AWS_IO_DNS_NO_ADDRESS_FOR_HOST,
|
||||
AWS_IO_DNS_HOST_REMOVED_FROM_CACHE,
|
||||
AWS_IO_STREAM_INVALID_SEEK_POSITION,
|
||||
AWS_IO_STREAM_READ_FAILED,
|
||||
DEPRECATED_AWS_IO_INVALID_FILE_HANDLE,
|
||||
AWS_IO_SHARED_LIBRARY_LOAD_FAILURE,
|
||||
AWS_IO_SHARED_LIBRARY_FIND_SYMBOL_FAILURE,
|
||||
AWS_IO_TLS_NEGOTIATION_TIMEOUT,
|
||||
AWS_IO_TLS_ALERT_NOT_GRACEFUL,
|
||||
AWS_IO_MAX_RETRIES_EXCEEDED,
|
||||
AWS_IO_RETRY_PERMISSION_DENIED,
|
||||
AWS_IO_TLS_DIGEST_ALGORITHM_UNSUPPORTED,
|
||||
AWS_IO_TLS_SIGNATURE_ALGORITHM_UNSUPPORTED,
|
||||
|
||||
AWS_ERROR_PKCS11_VERSION_UNSUPPORTED,
|
||||
AWS_ERROR_PKCS11_TOKEN_NOT_FOUND,
|
||||
AWS_ERROR_PKCS11_KEY_NOT_FOUND,
|
||||
AWS_ERROR_PKCS11_KEY_TYPE_UNSUPPORTED,
|
||||
AWS_ERROR_PKCS11_UNKNOWN_CRYPTOKI_RETURN_VALUE,
|
||||
|
||||
/* PKCS#11 "CKR_" (Cryptoki Return Value) as AWS error-codes */
|
||||
AWS_ERROR_PKCS11_CKR_CANCEL,
|
||||
AWS_ERROR_PKCS11_CKR_HOST_MEMORY,
|
||||
AWS_ERROR_PKCS11_CKR_SLOT_ID_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_GENERAL_ERROR,
|
||||
AWS_ERROR_PKCS11_CKR_FUNCTION_FAILED,
|
||||
AWS_ERROR_PKCS11_CKR_ARGUMENTS_BAD,
|
||||
AWS_ERROR_PKCS11_CKR_NO_EVENT,
|
||||
AWS_ERROR_PKCS11_CKR_NEED_TO_CREATE_THREADS,
|
||||
AWS_ERROR_PKCS11_CKR_CANT_LOCK,
|
||||
AWS_ERROR_PKCS11_CKR_ATTRIBUTE_READ_ONLY,
|
||||
AWS_ERROR_PKCS11_CKR_ATTRIBUTE_SENSITIVE,
|
||||
AWS_ERROR_PKCS11_CKR_ATTRIBUTE_TYPE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_ATTRIBUTE_VALUE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_ACTION_PROHIBITED,
|
||||
AWS_ERROR_PKCS11_CKR_DATA_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_DATA_LEN_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_DEVICE_ERROR,
|
||||
AWS_ERROR_PKCS11_CKR_DEVICE_MEMORY,
|
||||
AWS_ERROR_PKCS11_CKR_DEVICE_REMOVED,
|
||||
AWS_ERROR_PKCS11_CKR_ENCRYPTED_DATA_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_ENCRYPTED_DATA_LEN_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_FUNCTION_CANCELED,
|
||||
AWS_ERROR_PKCS11_CKR_FUNCTION_NOT_PARALLEL,
|
||||
AWS_ERROR_PKCS11_CKR_FUNCTION_NOT_SUPPORTED,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_HANDLE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_SIZE_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_TYPE_INCONSISTENT,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_NOT_NEEDED,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_CHANGED,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_NEEDED,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_INDIGESTIBLE,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_FUNCTION_NOT_PERMITTED,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_NOT_WRAPPABLE,
|
||||
AWS_ERROR_PKCS11_CKR_KEY_UNEXTRACTABLE,
|
||||
AWS_ERROR_PKCS11_CKR_MECHANISM_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_MECHANISM_PARAM_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_OBJECT_HANDLE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_OPERATION_ACTIVE,
|
||||
AWS_ERROR_PKCS11_CKR_OPERATION_NOT_INITIALIZED,
|
||||
AWS_ERROR_PKCS11_CKR_PIN_INCORRECT,
|
||||
AWS_ERROR_PKCS11_CKR_PIN_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_PIN_LEN_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_PIN_EXPIRED,
|
||||
AWS_ERROR_PKCS11_CKR_PIN_LOCKED,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_CLOSED,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_COUNT,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_HANDLE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_PARALLEL_NOT_SUPPORTED,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_READ_ONLY,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_EXISTS,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_READ_ONLY_EXISTS,
|
||||
AWS_ERROR_PKCS11_CKR_SESSION_READ_WRITE_SO_EXISTS,
|
||||
AWS_ERROR_PKCS11_CKR_SIGNATURE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_SIGNATURE_LEN_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_TEMPLATE_INCOMPLETE,
|
||||
AWS_ERROR_PKCS11_CKR_TEMPLATE_INCONSISTENT,
|
||||
AWS_ERROR_PKCS11_CKR_TOKEN_NOT_PRESENT,
|
||||
AWS_ERROR_PKCS11_CKR_TOKEN_NOT_RECOGNIZED,
|
||||
AWS_ERROR_PKCS11_CKR_TOKEN_WRITE_PROTECTED,
|
||||
AWS_ERROR_PKCS11_CKR_UNWRAPPING_KEY_HANDLE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_UNWRAPPING_KEY_SIZE_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT,
|
||||
AWS_ERROR_PKCS11_CKR_USER_ALREADY_LOGGED_IN,
|
||||
AWS_ERROR_PKCS11_CKR_USER_NOT_LOGGED_IN,
|
||||
AWS_ERROR_PKCS11_CKR_USER_PIN_NOT_INITIALIZED,
|
||||
AWS_ERROR_PKCS11_CKR_USER_TYPE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_USER_ANOTHER_ALREADY_LOGGED_IN,
|
||||
AWS_ERROR_PKCS11_CKR_USER_TOO_MANY_TYPES,
|
||||
AWS_ERROR_PKCS11_CKR_WRAPPED_KEY_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_WRAPPED_KEY_LEN_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_WRAPPING_KEY_HANDLE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_WRAPPING_KEY_SIZE_RANGE,
|
||||
AWS_ERROR_PKCS11_CKR_WRAPPING_KEY_TYPE_INCONSISTENT,
|
||||
AWS_ERROR_PKCS11_CKR_RANDOM_SEED_NOT_SUPPORTED,
|
||||
AWS_ERROR_PKCS11_CKR_RANDOM_NO_RNG,
|
||||
AWS_ERROR_PKCS11_CKR_DOMAIN_PARAMS_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_CURVE_NOT_SUPPORTED,
|
||||
AWS_ERROR_PKCS11_CKR_BUFFER_TOO_SMALL,
|
||||
AWS_ERROR_PKCS11_CKR_SAVED_STATE_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_INFORMATION_SENSITIVE,
|
||||
AWS_ERROR_PKCS11_CKR_STATE_UNSAVEABLE,
|
||||
AWS_ERROR_PKCS11_CKR_CRYPTOKI_NOT_INITIALIZED,
|
||||
AWS_ERROR_PKCS11_CKR_CRYPTOKI_ALREADY_INITIALIZED,
|
||||
AWS_ERROR_PKCS11_CKR_MUTEX_BAD,
|
||||
AWS_ERROR_PKCS11_CKR_MUTEX_NOT_LOCKED,
|
||||
AWS_ERROR_PKCS11_CKR_NEW_PIN_MODE,
|
||||
AWS_ERROR_PKCS11_CKR_NEXT_OTP,
|
||||
AWS_ERROR_PKCS11_CKR_EXCEEDED_MAX_ITERATIONS,
|
||||
AWS_ERROR_PKCS11_CKR_FIPS_SELF_TEST_FAILED,
|
||||
AWS_ERROR_PKCS11_CKR_LIBRARY_LOAD_FAILED,
|
||||
AWS_ERROR_PKCS11_CKR_PIN_TOO_WEAK,
|
||||
AWS_ERROR_PKCS11_CKR_PUBLIC_KEY_INVALID,
|
||||
AWS_ERROR_PKCS11_CKR_FUNCTION_REJECTED,
|
||||
|
||||
AWS_ERROR_IO_PINNED_EVENT_LOOP_MISMATCH,
|
||||
|
||||
AWS_ERROR_PKCS11_ENCODING_ERROR,
|
||||
AWS_IO_TLS_ERROR_DEFAULT_TRUST_STORE_NOT_FOUND,
|
||||
|
||||
AWS_IO_STREAM_SEEK_FAILED,
|
||||
AWS_IO_STREAM_GET_LENGTH_FAILED,
|
||||
AWS_IO_STREAM_SEEK_UNSUPPORTED,
|
||||
AWS_IO_STREAM_GET_LENGTH_UNSUPPORTED,
|
||||
|
||||
AWS_IO_TLS_ERROR_READ_FAILURE,
|
||||
|
||||
AWS_ERROR_PEM_MALFORMED,
|
||||
|
||||
AWS_IO_ERROR_END_RANGE = AWS_ERROR_ENUM_END_RANGE(AWS_C_IO_PACKAGE_ID),
|
||||
AWS_IO_INVALID_FILE_HANDLE = AWS_ERROR_INVALID_FILE_HANDLE,
|
||||
};
|
||||
|
||||
AWS_EXTERN_C_BEGIN
|
||||
|
||||
/**
|
||||
* Initializes internal datastructures used by aws-c-io.
|
||||
* Must be called before using any functionality in aws-c-io.
|
||||
*/
|
||||
AWS_IO_API
|
||||
void aws_io_library_init(struct aws_allocator *allocator);
|
||||
|
||||
/**
|
||||
* Shuts down the internal datastructures used by aws-c-io.
|
||||
*/
|
||||
AWS_IO_API
|
||||
void aws_io_library_clean_up(void);
|
||||
|
||||
AWS_IO_API
|
||||
void aws_io_fatal_assert_library_initialized(void);
|
||||
|
||||
AWS_EXTERN_C_END
|
||||
AWS_POP_SANE_WARNING_LEVEL
|
||||
|
||||
#endif /* AWS_IO_IO_H */
|
||||
Reference in New Issue
Block a user