155 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|  * 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_credentials_options_new) {
 | |
|     aws_crt_credentials_options *options = aws_crt_credentials_options_new();
 | |
|     RETURN_LONG((zend_ulong)options);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_options_release) {
 | |
|     zend_ulong php_options = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("l", &php_options);
 | |
| 
 | |
|     aws_crt_credentials_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_options_release(options);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_options_set_access_key_id) {
 | |
|     zend_ulong php_options = 0;
 | |
|     const char *access_key_id = NULL;
 | |
|     size_t access_key_id_len = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("ls", &php_options, &access_key_id, &access_key_id_len);
 | |
| 
 | |
|     aws_crt_credentials_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_options_set_access_key_id(options, (uint8_t *)access_key_id, access_key_id_len);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_options_set_secret_access_key) {
 | |
|     zend_ulong php_options = 0;
 | |
|     const char *secret_access_key = NULL;
 | |
|     size_t secret_access_key_len = 0;
 | |
| 
 | |
|     if (zend_parse_parameters(ZEND_NUM_ARGS(), "ls", &php_options, &secret_access_key, &secret_access_key_len) ==
 | |
|         FAILURE) {
 | |
|         RETURN_NULL();
 | |
|     }
 | |
| 
 | |
|     aws_crt_credentials_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_options_set_secret_access_key(options, (uint8_t *)secret_access_key, secret_access_key_len);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_options_set_session_token) {
 | |
|     zend_ulong php_options = 0;
 | |
|     const char *session_token = NULL;
 | |
|     size_t session_token_len = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("ls", &php_options, &session_token, &session_token_len);
 | |
| 
 | |
|     aws_crt_credentials_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_options_set_session_token(options, (uint8_t *)session_token, session_token_len);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_options_set_expiration_timepoint_seconds) {
 | |
|     zend_ulong php_options = 0;
 | |
|     zend_ulong expiration_timepoint_seconds = 0;
 | |
|     aws_php_parse_parameters("ll", &php_options, &expiration_timepoint_seconds);
 | |
| 
 | |
|     aws_crt_credentials_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_options_set_expiration_timepoint_seconds(options, expiration_timepoint_seconds);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_new) {
 | |
|     zend_ulong php_options = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("l", &php_options);
 | |
| 
 | |
|     aws_crt_credentials_options *options = (void *)php_options;
 | |
|     aws_crt_credentials *credentials = aws_crt_credentials_new(options);
 | |
|     RETURN_LONG((zend_ulong)credentials);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_release) {
 | |
|     zend_ulong php_credentials = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("l", &php_credentials);
 | |
| 
 | |
|     aws_crt_credentials *credentials = (void *)php_credentials;
 | |
|     aws_crt_credentials_release(credentials);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_release) {
 | |
|     zend_ulong php_creds_provider = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("l", &php_creds_provider);
 | |
| 
 | |
|     aws_crt_credentials_provider *provider = (void *)php_creds_provider;
 | |
|     aws_crt_credentials_provider_release(provider);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_static_options_new) {
 | |
|     aws_crt_credentials_provider_static_options *options = aws_crt_credentials_provider_static_options_new();
 | |
|     RETURN_LONG((zend_ulong)options);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_static_options_release) {
 | |
|     zend_ulong php_options = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("l", &php_options);
 | |
| 
 | |
|     aws_crt_credentials_provider_static_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_provider_static_options_release(options);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_access_key_id) {
 | |
|     zend_ulong php_options = 0;
 | |
|     const char *access_key_id = NULL;
 | |
|     size_t access_key_id_len = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("ls", &php_options, &access_key_id, &access_key_id_len);
 | |
| 
 | |
|     aws_crt_credentials_provider_static_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_provider_static_options_set_access_key_id(options, (uint8_t *)access_key_id, access_key_id_len);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_secret_access_key) {
 | |
|     zend_ulong php_options = 0;
 | |
|     const char *secret_access_key = NULL;
 | |
|     size_t secret_access_key_len = 0;
 | |
| 
 | |
|     if (zend_parse_parameters(ZEND_NUM_ARGS(), "ls", &php_options, &secret_access_key, &secret_access_key_len) ==
 | |
|         FAILURE) {
 | |
|         RETURN_NULL();
 | |
|     }
 | |
| 
 | |
|     aws_crt_credentials_provider_static_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_provider_static_options_set_secret_access_key(
 | |
|         options, (uint8_t *)secret_access_key, secret_access_key_len);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_static_options_set_session_token) {
 | |
|     zend_ulong php_options = 0;
 | |
|     const char *session_token = NULL;
 | |
|     size_t session_token_len = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("ls", &php_options, &session_token, &session_token_len);
 | |
| 
 | |
|     aws_crt_credentials_provider_static_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_provider_static_options_set_session_token(options, (uint8_t *)session_token, session_token_len);
 | |
| }
 | |
| 
 | |
| PHP_FUNCTION(aws_crt_credentials_provider_static_new) {
 | |
|     zend_ulong php_options = 0;
 | |
| 
 | |
|     aws_php_parse_parameters("l", &php_options);
 | |
| 
 | |
|     aws_crt_credentials_provider_static_options *options = (void *)php_options;
 | |
|     aws_crt_credentials_provider *provider = aws_crt_credentials_provider_static_new(options);
 | |
|     RETURN_LONG((zend_ulong)provider);
 | |
| }
 | 
