mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 09:49:28 +02:00
65 lines
1.8 KiB
C
65 lines
1.8 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_log_to_stdout) {
|
|
aws_php_parse_parameters_none();
|
|
aws_crt_log_to_stdout();
|
|
}
|
|
|
|
PHP_FUNCTION(aws_crt_log_to_stderr) {
|
|
aws_php_parse_parameters_none();
|
|
aws_crt_log_to_stderr();
|
|
}
|
|
|
|
PHP_FUNCTION(aws_crt_log_to_file) {
|
|
const char *filename = NULL;
|
|
size_t filename_len = 0;
|
|
/* read the filename as a path, which guarantees no NUL bytes */
|
|
aws_php_parse_parameters("p", &filename, &filename_len);
|
|
aws_crt_log_to_file(filename);
|
|
}
|
|
|
|
static void php_crt_log(const char *message, size_t len, void *user_data) {
|
|
php_stream *stream = user_data;
|
|
php_stream_write(stream, message, len);
|
|
php_stream_flush(stream);
|
|
}
|
|
|
|
PHP_FUNCTION(aws_crt_log_to_stream) {
|
|
zval *php_log_stream = NULL;
|
|
aws_php_parse_parameters("r", &php_log_stream);
|
|
|
|
if (php_log_stream) {
|
|
php_stream *stream = NULL;
|
|
Z_ADDREF(*php_log_stream);
|
|
AWS_PHP_STREAM_FROM_ZVAL(stream, php_log_stream);
|
|
aws_crt_log_to_callback((aws_crt_log_callback *)php_crt_log, stream);
|
|
} else {
|
|
aws_crt_log_to_callback(NULL, NULL);
|
|
}
|
|
}
|
|
|
|
PHP_FUNCTION(aws_crt_log_set_level) {
|
|
zend_ulong log_level = 0;
|
|
aws_php_parse_parameters("l", &log_level);
|
|
aws_crt_log_set_level((aws_crt_log_level)log_level);
|
|
}
|
|
|
|
PHP_FUNCTION(aws_crt_log_stop) {
|
|
aws_php_parse_parameters_none();
|
|
aws_crt_log_stop();
|
|
}
|
|
|
|
PHP_FUNCTION(aws_crt_log_message) {
|
|
zend_ulong log_level = 0;
|
|
const char *message = NULL;
|
|
size_t message_len = 0;
|
|
|
|
aws_php_parse_parameters("ls", &log_level, &message, &message_len);
|
|
|
|
aws_crt_log_message((aws_crt_log_level)log_level, (const uint8_t *)message, message_len);
|
|
}
|