static void user_tick_function_dtor(user_tick_function_entry *tick_function_entry);
/* {{{ arginfo */
-/* {{{ main/main.c */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_set_time_limit, _IS_BOOL, 0)
- ZEND_ARG_INFO(0, seconds)
-ZEND_END_ARG_INFO()
-/* }}} */
-
-/* {{{ main/sapi.c */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_header_register_callback, _IS_BOOL, 0)
- ZEND_ARG_INFO(0, callback)
-ZEND_END_ARG_INFO()
-/* }}} */
-
-/* {{{ main/output.c */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
- ZEND_ARG_INFO(0, user_function)
- ZEND_ARG_INFO(0, chunk_size)
- ZEND_ARG_INFO(0, flags)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_flush, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_clean, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_flush, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_clean, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_flush, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_clean, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_contents, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_get_level, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_length, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_list_handlers, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
- ZEND_ARG_INFO(0, full_status)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
- ZEND_ARG_INFO(0, flag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_reset_rewrite_vars, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_add_rewrite_var, _IS_BOOL, 0)
- ZEND_ARG_INFO(0, name)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-/* }}} */
-/* {{{ main/streams/userspace.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_wrapper_register, 0, 0, 2)
- ZEND_ARG_INFO(0, protocol)
- ZEND_ARG_INFO(0, classname)
- ZEND_ARG_INFO(0, flags)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_unregister, 0)
- ZEND_ARG_INFO(0, protocol)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_restore, 0)
- ZEND_ARG_INFO(0, protocol)
-ZEND_END_ARG_INFO()
-/* }}} */
/* {{{ array.c */
ZEND_BEGIN_ARG_INFO_EX(arginfo_krsort, 0, 0, 1)
ZEND_ARG_INFO(1, arg) /* ARRAY_INFO(1, arg, 0) */
<?php
+/* main/main.c */
+
+function set_time_limit(int $seconds): bool {}
+
+/* main/SAPI.c */
+
+// TODO: Make this a proper callable argument?
+function header_register_callback($callback): bool {}
+
+/* main/output.c */
+
+function ob_start(
+ $user_function = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
+
+function ob_flush(): bool {}
+
+function ob_clean(): bool {}
+
+function ob_end_flush(): bool {}
+
+function ob_end_clean(): bool {}
+
+/** @return string|false */
+function ob_get_flush() {}
+
+/** @return string|false */
+function ob_get_clean() {}
+
+/** @return string|false */
+function ob_get_contents() {}
+
+function ob_get_level(): int {}
+
+/** @return int|false */
+function ob_get_length() {}
+
+function ob_list_handlers(): array {}
+
+function ob_get_status(bool $full_status = false): array {}
+
+// TODO: Shouldn't this be a bool argument?
+function ob_implicit_flush(int $flag = 1): void {}
+
+function output_reset_rewrite_vars(): bool {}
+
+function output_add_rewrite_var(string $name, string $value): bool {}
+
+/* main/streams/userspace.c */
+
+function stream_wrapper_register(string $protocol, string $classname, int $flags = 0): bool {}
+
+function stream_wrapper_unregister(string $protocol): bool {}
+
+function stream_wrapper_restore(string $protocol): bool {}
+
+/* array.c */
+
/** @return int|false */
function array_push(array &$stack, ...$args) {}
/* This is a generated file, edit the .stub.php file instead. */
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_header_register_callback, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, callback)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, user_function)
+ ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_flush, 0, 0, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_ob_clean arginfo_ob_flush
+
+#define arginfo_ob_end_flush arginfo_ob_flush
+
+#define arginfo_ob_end_clean arginfo_ob_flush
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_ob_get_flush, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_ob_get_clean arginfo_ob_get_flush
+
+#define arginfo_ob_get_contents arginfo_ob_get_flush
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_level, 0, 0, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_ob_get_length arginfo_ob_get_flush
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_list_handlers, 0, 0, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
+ ZEND_ARG_TYPE_INFO(0, full_status, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
+ ZEND_ARG_TYPE_INFO(0, flag, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_output_reset_rewrite_vars arginfo_ob_flush
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_output_add_rewrite_var, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_register, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, classname, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_unregister, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_stream_wrapper_restore arginfo_stream_wrapper_unregister
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_push, 0, 0, 1)
ZEND_ARG_TYPE_INFO(1, stack, IS_ARRAY, 0)
ZEND_ARG_VARIADIC_INFO(0, args)
}
/* }}} */
-/* {{{ proto bool ob_get_flush(void)
+/* {{{ proto string|false ob_get_flush(void)
Get current buffer contents, flush (send) the output buffer, and delete current output buffer */
PHP_FUNCTION(ob_get_flush)
{
}
/* }}} */
-/* {{{ proto bool ob_get_clean(void)
+/* {{{ proto string|false ob_get_clean(void)
Get current buffer contents and delete current output buffer */
PHP_FUNCTION(ob_get_clean)
{