diff options
| author | Johannes Schlüter <johannes@php.net> | 2011-02-19 16:04:30 +0000 |
|---|---|---|
| committer | Johannes Schlüter <johannes@php.net> | 2011-02-19 16:04:30 +0000 |
| commit | 6c734a6b4c9ecf90162cf53fcf5f89864ccabbde (patch) | |
| tree | 7208c4fd48a2d04612a1877b8ab14e42344a394b /sapi/cli/cli.h | |
| parent | 430af9a0abe07274597eda9f6fe544e87abb7e45 (diff) | |
| download | php-git-6c734a6b4c9ecf90162cf53fcf5f89864ccabbde.tar.gz | |
- Implement FR#53878 Interactive shell should work with shared readline extension
# This is useful w/ distributors who like to build all things shared or don't
# provide the readline extension. Or if a user pefers readline's behavior over
# libedit which might be used by the distributor.
Diffstat (limited to 'sapi/cli/cli.h')
| -rw-r--r-- | sapi/cli/cli.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/sapi/cli/cli.h b/sapi/cli/cli.h new file mode 100644 index 0000000000..2c069c4491 --- /dev/null +++ b/sapi/cli/cli.h @@ -0,0 +1,52 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2010 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Johannes Schlueter <johannes@php.net> | + +----------------------------------------------------------------------+ +*/ + +/* $Id$ */ + +#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 size_t sapi_cli_single_write(const char *str, uint str_length TSRMLS_DC); + +typedef struct { + size_t (*cli_shell_write)(const char *str, uint str_length TSRMLS_DC); + int (*cli_shell_ub_write)(const char *str, uint str_length TSRMLS_DC); + int (*cli_shell_run)(TSRMLS_D); +} cli_shell_callbacks_t; + +extern PHP_CLI_API cli_shell_callbacks_t *php_cli_get_shell_callbacks(); + +#endif /* CLI_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ |
