58 lines
2 KiB
C
58 lines
2 KiB
C
/*
|
|
+----------------------------------------------------------------------+
|
|
| Copyright © The PHP Group and Contributors. |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to the Modified BSD License that is |
|
|
| bundled with this package in the file LICENSE, and is available |
|
|
| through the World Wide Web at <https://www.php.net/license/>. |
|
|
| |
|
|
| SPDX-License-Identifier: BSD-3-Clause |
|
|
+----------------------------------------------------------------------+
|
|
| Author: Johannes Schlueter <johannes@php.net> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
#ifndef CLI_H
|
|
#define CLI_H
|
|
|
|
#ifdef PHP_WIN32
|
|
# define PHP_CLI_API __declspec(dllexport)
|
|
#elif defined(__GNUC__) && __GNUC__ >= 4
|
|
# define PHP_CLI_API __attribute__ ((visibility("default")))
|
|
#else
|
|
# define PHP_CLI_API
|
|
#endif
|
|
|
|
|
|
extern PHP_CLI_API ssize_t sapi_cli_single_write(const char *str, size_t str_length);
|
|
|
|
typedef struct {
|
|
size_t (*cli_shell_write)(const char *str, size_t str_length);
|
|
size_t (*cli_shell_ub_write)(const char *str, size_t str_length);
|
|
int (*cli_shell_run)(void);
|
|
} cli_shell_callbacks_t;
|
|
|
|
extern PHP_CLI_API cli_shell_callbacks_t *php_cli_get_shell_callbacks(void);
|
|
|
|
typedef enum php_cli_mode {
|
|
PHP_CLI_MODE_STANDARD = 1,
|
|
PHP_CLI_MODE_HIGHLIGHT = 2,
|
|
PHP_CLI_MODE_LINT = 4,
|
|
PHP_CLI_MODE_STRIP = 5,
|
|
PHP_CLI_MODE_CLI_DIRECT = 6,
|
|
PHP_CLI_MODE_PROCESS_STDIN = 7,
|
|
PHP_CLI_MODE_REFLECTION_FUNCTION = 8,
|
|
PHP_CLI_MODE_REFLECTION_CLASS = 9,
|
|
PHP_CLI_MODE_REFLECTION_EXTENSION = 10,
|
|
PHP_CLI_MODE_REFLECTION_EXT_INFO = 11,
|
|
PHP_CLI_MODE_REFLECTION_ZEND_EXTENSION = 12,
|
|
PHP_CLI_MODE_SHOW_INI_CONFIG = 13,
|
|
PHP_CLI_MODE_SHOW_INI_DIFF = 14,
|
|
} php_cli_mode;
|
|
|
|
typedef struct php_cli_server_context {
|
|
php_cli_mode mode;
|
|
} php_cli_server_context;
|
|
|
|
#endif /* CLI_H */
|