* broken

* crc tests

* ffi changes

* large buffer test

* ffi cmake fix

* formatting

* laws-checksums config.m4

* broken

* crc tests

* ffi changes

* large buffer test

* ffi cmake fix

* formatting

* laws-checksums config.m4

* Fixed aws-crt-ffi after rebase of main

* Regenerated awscrt_arginfo.h

* merge fix

* Fixed arginfo

* try forcing memory limit higher

* mem_limit set

* newline

Co-authored-by: Itamar Levy-Or <[email protected]>
This commit is contained in:
Justin Boswell
2021-06-18 18:04:56 -04:00
committed by GitHub
co-authored by Itamar Levy-Or
parent 078df4825c
commit ebfb91f562
9 changed files with 305 additions and 134 deletions
+2
View File
@@ -11,3 +11,5 @@
#include "http.c"
#include "signing.c"
#include "stream.c"
// #include "hash.c"
#include "crc.c"
+4
View File
@@ -118,3 +118,7 @@ function aws_crt_signing_result_release(int $signing_result): void {}
function aws_crt_signing_result_apply_to_http_request(object $signing_result, object $http_request): void {}
function aws_crt_sign_request_aws(int $signable, int $signing_config, object $on_complete, object $user_data): int {}
function aws_crt_crc32(string $input, int $prev): int {}
function aws_crt_crc32c(string $input, int $prev): int {}
+165 -132
View File
@@ -1,11 +1,11 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 8ee94b778eb6d2eeabc8c2695aaded9fb18de88f */
* Stub hash: 36d4e512f02a12c10689eb9b0941bcd7837fbf1d */
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_last_error, 0, 0, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_error_name, 0, 0, 1)
ZEND_ARG_INFO(0, error_code)
ZEND_ARG_INFO(0, error_code)
ZEND_END_ARG_INFO()
#define arginfo_aws_crt_error_str arginfo_aws_crt_error_name
@@ -15,69 +15,69 @@ ZEND_END_ARG_INFO()
#define arginfo_aws_crt_event_loop_group_options_new arginfo_aws_crt_last_error
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_options_release, 0, 0, 1)
ZEND_ARG_INFO(0, elg_options)
ZEND_ARG_INFO(0, elg_options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_options_set_max_threads, 0, 0, 2)
ZEND_ARG_INFO(0, elg_options)
ZEND_ARG_INFO(0, max_threads)
ZEND_ARG_INFO(0, elg_options)
ZEND_ARG_INFO(0, max_threads)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_new, 0, 0, 1)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_event_loop_group_release, 0, 0, 1)
ZEND_ARG_INFO(0, event_loop_group)
ZEND_ARG_INFO(0, event_loop_group)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_new, 0, 0, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_release, 0, 0, 1)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_options_set_user_data, 0, 0, 2)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, user_data)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, user_data)
ZEND_END_ARG_INFO()
#define arginfo_aws_crt_input_stream_new arginfo_aws_crt_event_loop_group_new
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_release, 0, 0, 1)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, stream)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_seek, 0, 0, 3)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, offset)
ZEND_ARG_INFO(0, basis)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, offset)
ZEND_ARG_INFO(0, basis)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_read, 0, 0, 2)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, length)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, length)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_eof, 0, 0, 1)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, stream)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_input_stream_get_length, 0, 0, 1)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_INFO(0, stream)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_new_from_blob, 0, 0, 1)
ZEND_ARG_INFO(0, blob)
ZEND_ARG_INFO(0, blob)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_to_blob, 0, 0, 1)
ZEND_ARG_INFO(0, message)
ZEND_ARG_INFO(0, message)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_http_message_release, 0, 0, 1)
ZEND_ARG_INFO(0, message)
ZEND_ARG_INFO(0, message)
ZEND_END_ARG_INFO()
#define arginfo_aws_crt_credentials_options_new arginfo_aws_crt_input_stream_options_new
@@ -85,146 +85,155 @@ ZEND_END_ARG_INFO()
#define arginfo_aws_crt_credentials_options_release arginfo_aws_crt_input_stream_options_release
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_access_key_id, 0, 0, 2)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, access_key_id)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, access_key_id)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_secret_access_key, 0, 0, 2)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, secret_access_key)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, secret_access_key)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_session_token, 0, 0, 2)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, session_token)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, session_token)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds, 0, 0, 2)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, expiration_timepoint_seconds)
ZEND_ARG_INFO(0, options)
ZEND_ARG_INFO(0, expiration_timepoint_seconds)
ZEND_END_ARG_INFO()
#define arginfo_aws_crt_credentials_new arginfo_aws_crt_event_loop_group_new
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_release, 0, 0, 1)
ZEND_ARG_INFO(0, credentials)
ZEND_ARG_INFO(0, credentials)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_credentials_provider_release, 0, 0, 1)
ZEND_ARG_INFO(0, credentials)
ZEND_ARG_INFO(0, credentials)
ZEND_END_ARG_INFO()
#define arginfo_aws_crt_credentials_provider_static_options_new arginfo_aws_crt_input_stream_options_new
#define arginfo_aws_crt_credentials_provider_static_options_release arginfo_aws_crt_input_stream_options_release
#define arginfo_aws_crt_credentials_provider_static_options_set_access_key_id arginfo_aws_crt_credentials_options_set_access_key_id
#define arginfo_aws_crt_credentials_provider_static_options_set_access_key_id \
arginfo_aws_crt_credentials_options_set_access_key_id
#define arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key arginfo_aws_crt_credentials_options_set_secret_access_key
#define arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key \
arginfo_aws_crt_credentials_options_set_secret_access_key
#define arginfo_aws_crt_credentials_provider_static_options_set_session_token arginfo_aws_crt_credentials_options_set_session_token
#define arginfo_aws_crt_credentials_provider_static_options_set_session_token \
arginfo_aws_crt_credentials_options_set_session_token
#define arginfo_aws_crt_credentials_provider_static_new arginfo_aws_crt_event_loop_group_new
#define arginfo_aws_crt_signing_config_aws_new arginfo_aws_crt_last_error
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_release, 0, 0, 1)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, config)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_algorithm, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, algorithm)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, algorithm)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signature_type, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, signature_type)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, signature_type)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_credentials_provider, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, credentials_provider)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, credentials_provider)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_region, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, region)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, region)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_service, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, service)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, service)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, use_double_uri_encode)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, use_double_uri_encode)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, should_normalize_uri_path)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, should_normalize_uri_path)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_omit_session_token, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, omit_session_token)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, omit_session_token)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signed_body_value, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, signed_body_value)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, signed_body_value)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_signed_body_header_type, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, signed_body_header_type)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, signed_body_header_type)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, expiration_in_seconds)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, expiration_in_seconds)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_config_aws_set_date, 0, 0, 2)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, timestamp)
ZEND_ARG_INFO(0, config)
ZEND_ARG_INFO(0, timestamp)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_http_request, 0, 0, 1)
ZEND_ARG_INFO(0, http_message)
ZEND_ARG_INFO(0, http_message)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_chunk, 0, 0, 2)
ZEND_ARG_INFO(0, input_stream)
ZEND_ARG_INFO(0, previous_signature)
ZEND_ARG_INFO(0, input_stream)
ZEND_ARG_INFO(0, previous_signature)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_new_from_canonical_request, 0, 0, 1)
ZEND_ARG_INFO(0, request)
ZEND_ARG_INFO(0, request)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signable_release, 0, 0, 1)
ZEND_ARG_INFO(0, signable)
ZEND_ARG_INFO(0, signable)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_result_release, 0, 0, 1)
ZEND_ARG_INFO(0, signing_result)
ZEND_ARG_INFO(0, signing_result)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_signing_result_apply_to_http_request, 0, 0, 2)
ZEND_ARG_INFO(0, signing_result)
ZEND_ARG_INFO(0, http_request)
ZEND_ARG_INFO(0, signing_result)
ZEND_ARG_INFO(0, http_request)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_sign_request_aws, 0, 0, 4)
ZEND_ARG_INFO(0, signable)
ZEND_ARG_INFO(0, signing_config)
ZEND_ARG_INFO(0, on_complete)
ZEND_ARG_INFO(0, user_data)
ZEND_ARG_INFO(0, signable)
ZEND_ARG_INFO(0, signing_config)
ZEND_ARG_INFO(0, on_complete)
ZEND_ARG_INFO(0, user_data)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_aws_crt_crc32, 0, 0, 2)
ZEND_ARG_INFO(0, input)
ZEND_ARG_INFO(0, prev)
ZEND_END_ARG_INFO()
#define arginfo_aws_crt_crc32c arginfo_aws_crt_crc32
ZEND_FUNCTION(aws_crt_last_error);
ZEND_FUNCTION(aws_crt_error_name);
@@ -283,65 +292,89 @@ ZEND_FUNCTION(aws_crt_signable_release);
ZEND_FUNCTION(aws_crt_signing_result_release);
ZEND_FUNCTION(aws_crt_signing_result_apply_to_http_request);
ZEND_FUNCTION(aws_crt_sign_request_aws);
ZEND_FUNCTION(aws_crt_crc32);
ZEND_FUNCTION(aws_crt_crc32c);
static const zend_function_entry ext_functions[] = {
ZEND_FE(aws_crt_last_error, arginfo_aws_crt_last_error)
ZEND_FE(aws_crt_error_name, arginfo_aws_crt_error_name)
ZEND_FE(aws_crt_error_str, arginfo_aws_crt_error_str)
ZEND_FE(aws_crt_error_debug_str, arginfo_aws_crt_error_debug_str)
ZEND_FE(aws_crt_event_loop_group_options_new, arginfo_aws_crt_event_loop_group_options_new)
ZEND_FE(aws_crt_event_loop_group_options_release, arginfo_aws_crt_event_loop_group_options_release)
ZEND_FE(aws_crt_event_loop_group_options_set_max_threads, arginfo_aws_crt_event_loop_group_options_set_max_threads)
ZEND_FE(aws_crt_event_loop_group_new, arginfo_aws_crt_event_loop_group_new)
ZEND_FE(aws_crt_event_loop_group_release, arginfo_aws_crt_event_loop_group_release)
ZEND_FE(aws_crt_input_stream_options_new, arginfo_aws_crt_input_stream_options_new)
ZEND_FE(aws_crt_input_stream_options_release, arginfo_aws_crt_input_stream_options_release)
ZEND_FE(aws_crt_input_stream_options_set_user_data, arginfo_aws_crt_input_stream_options_set_user_data)
ZEND_FE(aws_crt_input_stream_new, arginfo_aws_crt_input_stream_new)
ZEND_FE(aws_crt_input_stream_release, arginfo_aws_crt_input_stream_release)
ZEND_FE(aws_crt_input_stream_seek, arginfo_aws_crt_input_stream_seek)
ZEND_FE(aws_crt_input_stream_read, arginfo_aws_crt_input_stream_read)
ZEND_FE(aws_crt_input_stream_eof, arginfo_aws_crt_input_stream_eof)
ZEND_FE(aws_crt_input_stream_get_length, arginfo_aws_crt_input_stream_get_length)
ZEND_FE(aws_crt_http_message_new_from_blob, arginfo_aws_crt_http_message_new_from_blob)
ZEND_FE(aws_crt_http_message_to_blob, arginfo_aws_crt_http_message_to_blob)
ZEND_FE(aws_crt_http_message_release, arginfo_aws_crt_http_message_release)
ZEND_FE(aws_crt_credentials_options_new, arginfo_aws_crt_credentials_options_new)
ZEND_FE(aws_crt_credentials_options_release, arginfo_aws_crt_credentials_options_release)
ZEND_FE(aws_crt_credentials_options_set_access_key_id, arginfo_aws_crt_credentials_options_set_access_key_id)
ZEND_FE(aws_crt_credentials_options_set_secret_access_key, arginfo_aws_crt_credentials_options_set_secret_access_key)
ZEND_FE(aws_crt_credentials_options_set_session_token, arginfo_aws_crt_credentials_options_set_session_token)
ZEND_FE(aws_crt_credentials_options_set_expiration_timepoint_seconds, arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds)
ZEND_FE(aws_crt_credentials_new, arginfo_aws_crt_credentials_new)
ZEND_FE(aws_crt_credentials_release, arginfo_aws_crt_credentials_release)
ZEND_FE(aws_crt_credentials_provider_release, arginfo_aws_crt_credentials_provider_release)
ZEND_FE(aws_crt_credentials_provider_static_options_new, arginfo_aws_crt_credentials_provider_static_options_new)
ZEND_FE(aws_crt_credentials_provider_static_options_release, arginfo_aws_crt_credentials_provider_static_options_release)
ZEND_FE(aws_crt_credentials_provider_static_options_set_access_key_id, arginfo_aws_crt_credentials_provider_static_options_set_access_key_id)
ZEND_FE(aws_crt_credentials_provider_static_options_set_secret_access_key, arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key)
ZEND_FE(aws_crt_credentials_provider_static_options_set_session_token, arginfo_aws_crt_credentials_provider_static_options_set_session_token)
ZEND_FE(aws_crt_credentials_provider_static_new, arginfo_aws_crt_credentials_provider_static_new)
ZEND_FE(aws_crt_signing_config_aws_new, arginfo_aws_crt_signing_config_aws_new)
ZEND_FE(aws_crt_signing_config_aws_release, arginfo_aws_crt_signing_config_aws_release)
ZEND_FE(aws_crt_signing_config_aws_set_algorithm, arginfo_aws_crt_signing_config_aws_set_algorithm)
ZEND_FE(aws_crt_signing_config_aws_set_signature_type, arginfo_aws_crt_signing_config_aws_set_signature_type)
ZEND_FE(aws_crt_signing_config_aws_set_credentials_provider, arginfo_aws_crt_signing_config_aws_set_credentials_provider)
ZEND_FE(aws_crt_signing_config_aws_set_region, arginfo_aws_crt_signing_config_aws_set_region)
ZEND_FE(aws_crt_signing_config_aws_set_service, arginfo_aws_crt_signing_config_aws_set_service)
ZEND_FE(aws_crt_signing_config_aws_set_use_double_uri_encode, arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode)
ZEND_FE(aws_crt_signing_config_aws_set_should_normalize_uri_path, arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path)
ZEND_FE(aws_crt_signing_config_aws_set_omit_session_token, arginfo_aws_crt_signing_config_aws_set_omit_session_token)
ZEND_FE(aws_crt_signing_config_aws_set_signed_body_value, arginfo_aws_crt_signing_config_aws_set_signed_body_value)
ZEND_FE(aws_crt_signing_config_aws_set_signed_body_header_type, arginfo_aws_crt_signing_config_aws_set_signed_body_header_type)
ZEND_FE(aws_crt_signing_config_aws_set_expiration_in_seconds, arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds)
ZEND_FE(aws_crt_signing_config_aws_set_date, arginfo_aws_crt_signing_config_aws_set_date)
ZEND_FE(aws_crt_signable_new_from_http_request, arginfo_aws_crt_signable_new_from_http_request)
ZEND_FE(aws_crt_signable_new_from_chunk, arginfo_aws_crt_signable_new_from_chunk)
ZEND_FE(aws_crt_signable_new_from_canonical_request, arginfo_aws_crt_signable_new_from_canonical_request)
ZEND_FE(aws_crt_signable_release, arginfo_aws_crt_signable_release)
ZEND_FE(aws_crt_signing_result_release, arginfo_aws_crt_signing_result_release)
ZEND_FE(aws_crt_signing_result_apply_to_http_request, arginfo_aws_crt_signing_result_apply_to_http_request)
ZEND_FE(aws_crt_sign_request_aws, arginfo_aws_crt_sign_request_aws)
ZEND_FE_END
};
static const zend_function_entry ext_functions[] =
{ZEND_FE(aws_crt_last_error, arginfo_aws_crt_last_error) ZEND_FE(aws_crt_error_name, arginfo_aws_crt_error_name) ZEND_FE(
aws_crt_error_str,
arginfo_aws_crt_error_str) ZEND_FE(aws_crt_error_debug_str, arginfo_aws_crt_error_debug_str)
ZEND_FE(aws_crt_event_loop_group_options_new, arginfo_aws_crt_event_loop_group_options_new) ZEND_FE(
aws_crt_event_loop_group_options_release,
arginfo_aws_crt_event_loop_group_options_release) ZEND_FE(aws_crt_event_loop_group_options_set_max_threads, arginfo_aws_crt_event_loop_group_options_set_max_threads)
ZEND_FE(aws_crt_event_loop_group_new, arginfo_aws_crt_event_loop_group_new) ZEND_FE(
aws_crt_event_loop_group_release,
arginfo_aws_crt_event_loop_group_release) ZEND_FE(aws_crt_input_stream_options_new, arginfo_aws_crt_input_stream_options_new)
ZEND_FE(aws_crt_input_stream_options_release, arginfo_aws_crt_input_stream_options_release) ZEND_FE(
aws_crt_input_stream_options_set_user_data,
arginfo_aws_crt_input_stream_options_set_user_data) ZEND_FE(aws_crt_input_stream_new, arginfo_aws_crt_input_stream_new)
ZEND_FE(aws_crt_input_stream_release, arginfo_aws_crt_input_stream_release) ZEND_FE(
aws_crt_input_stream_seek,
arginfo_aws_crt_input_stream_seek) ZEND_FE(aws_crt_input_stream_read, arginfo_aws_crt_input_stream_read)
ZEND_FE(aws_crt_input_stream_eof, arginfo_aws_crt_input_stream_eof) ZEND_FE(
aws_crt_input_stream_get_length,
arginfo_aws_crt_input_stream_get_length)
ZEND_FE(aws_crt_http_message_new_from_blob, arginfo_aws_crt_http_message_new_from_blob) ZEND_FE(
aws_crt_http_message_to_blob,
arginfo_aws_crt_http_message_to_blob)
ZEND_FE(aws_crt_http_message_release, arginfo_aws_crt_http_message_release) ZEND_FE(
aws_crt_credentials_options_new,
arginfo_aws_crt_credentials_options_new)
ZEND_FE(aws_crt_credentials_options_release, arginfo_aws_crt_credentials_options_release) ZEND_FE(
aws_crt_credentials_options_set_access_key_id,
arginfo_aws_crt_credentials_options_set_access_key_id)
ZEND_FE(
aws_crt_credentials_options_set_secret_access_key,
arginfo_aws_crt_credentials_options_set_secret_access_key)
ZEND_FE(
aws_crt_credentials_options_set_session_token,
arginfo_aws_crt_credentials_options_set_session_token)
ZEND_FE(
aws_crt_credentials_options_set_expiration_timepoint_seconds,
arginfo_aws_crt_credentials_options_set_expiration_timepoint_seconds)
ZEND_FE(aws_crt_credentials_new, arginfo_aws_crt_credentials_new) ZEND_FE(
aws_crt_credentials_release,
arginfo_aws_crt_credentials_release)
ZEND_FE(
aws_crt_credentials_provider_release,
arginfo_aws_crt_credentials_provider_release)
ZEND_FE(
aws_crt_credentials_provider_static_options_new,
arginfo_aws_crt_credentials_provider_static_options_new)
ZEND_FE(
aws_crt_credentials_provider_static_options_release,
arginfo_aws_crt_credentials_provider_static_options_release)
ZEND_FE(
aws_crt_credentials_provider_static_options_set_access_key_id,
arginfo_aws_crt_credentials_provider_static_options_set_access_key_id)
ZEND_FE(
aws_crt_credentials_provider_static_options_set_secret_access_key,
arginfo_aws_crt_credentials_provider_static_options_set_secret_access_key)
ZEND_FE(
aws_crt_credentials_provider_static_options_set_session_token,
arginfo_aws_crt_credentials_provider_static_options_set_session_token)
ZEND_FE(
aws_crt_credentials_provider_static_new,
arginfo_aws_crt_credentials_provider_static_new)
ZEND_FE(
aws_crt_signing_config_aws_new,
arginfo_aws_crt_signing_config_aws_new)
ZEND_FE(
aws_crt_signing_config_aws_release,
arginfo_aws_crt_signing_config_aws_release)
ZEND_FE(
aws_crt_signing_config_aws_set_algorithm,
arginfo_aws_crt_signing_config_aws_set_algorithm) ZEND_FE(aws_crt_signing_config_aws_set_signature_type, arginfo_aws_crt_signing_config_aws_set_signature_type) ZEND_FE(aws_crt_signing_config_aws_set_credentials_provider, arginfo_aws_crt_signing_config_aws_set_credentials_provider) ZEND_FE(aws_crt_signing_config_aws_set_region, arginfo_aws_crt_signing_config_aws_set_region) ZEND_FE(aws_crt_signing_config_aws_set_service, arginfo_aws_crt_signing_config_aws_set_service) ZEND_FE(aws_crt_signing_config_aws_set_use_double_uri_encode, arginfo_aws_crt_signing_config_aws_set_use_double_uri_encode) ZEND_FE(aws_crt_signing_config_aws_set_should_normalize_uri_path, arginfo_aws_crt_signing_config_aws_set_should_normalize_uri_path) ZEND_FE(aws_crt_signing_config_aws_set_omit_session_token, arginfo_aws_crt_signing_config_aws_set_omit_session_token) ZEND_FE(aws_crt_signing_config_aws_set_signed_body_value, arginfo_aws_crt_signing_config_aws_set_signed_body_value) ZEND_FE(aws_crt_signing_config_aws_set_signed_body_header_type, arginfo_aws_crt_signing_config_aws_set_signed_body_header_type) ZEND_FE(aws_crt_signing_config_aws_set_expiration_in_seconds, arginfo_aws_crt_signing_config_aws_set_expiration_in_seconds) ZEND_FE(aws_crt_signing_config_aws_set_date, arginfo_aws_crt_signing_config_aws_set_date) ZEND_FE(aws_crt_signable_new_from_http_request, arginfo_aws_crt_signable_new_from_http_request) ZEND_FE(aws_crt_signable_new_from_chunk, arginfo_aws_crt_signable_new_from_chunk) ZEND_FE(aws_crt_signable_new_from_canonical_request, arginfo_aws_crt_signable_new_from_canonical_request) ZEND_FE(aws_crt_signable_release, arginfo_aws_crt_signable_release) ZEND_FE(aws_crt_signing_result_release, arginfo_aws_crt_signing_result_release)
ZEND_FE(
aws_crt_signing_result_apply_to_http_request,
arginfo_aws_crt_signing_result_apply_to_http_request)
ZEND_FE(
aws_crt_sign_request_aws,
arginfo_aws_crt_sign_request_aws)
ZEND_FE(
aws_crt_crc32,
arginfo_aws_crt_crc32)
ZEND_FE(
aws_crt_crc32c,
arginfo_aws_crt_crc32c)
ZEND_FE_END};
+32
View File
@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include "php_aws_crt.h"
PHP_FUNCTION(aws_crt_crc32) {
zend_ulong prev = 0;
const char *input = NULL;
size_t len = 0;
aws_php_parse_parameters("sl", &input, &len, &prev);
if (prev > UINT32_MAX) {
aws_php_throw_exception("previous crc cannot be larger than UINT32_MAX");
}
RETURN_LONG((zend_ulong)aws_crt_crc32((const uint8_t *)input, len, prev));
}
PHP_FUNCTION(aws_crt_crc32c) {
zend_ulong prev = 0;
const char *input = NULL;
size_t len = 0;
aws_php_parse_parameters("sl", &input, &len, &prev);
if (prev > UINT32_MAX) {
aws_php_throw_exception("previous crc cannot be larger than UINT32_MAX");
}
RETURN_LONG((zend_ulong)aws_crt_crc32c((const uint8_t *)input, len, prev));
}