diff options
author | Stephen Reay <stephen.reay@me.com> | 2019-09-22 18:13:35 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2019-09-22 19:25:55 +0200 |
commit | 01bdc68379f9aa80640c95db40102de5148f04b9 (patch) | |
tree | c47ed2a9594aeb8d3dd1b8f72df404d0bc138780 /ext | |
parent | 9fa65eed2c0120a7fb313259f453fd1dd0cd019a (diff) | |
download | php-git-01bdc68379f9aa80640c95db40102de5148f04b9.tar.gz |
Added arginfo stubs for IMAP extension
Diffstat (limited to 'ext')
-rw-r--r-- | ext/imap/php_imap.c | 370 | ||||
-rw-r--r-- | ext/imap/php_imap.stub.php | 359 | ||||
-rw-r--r-- | ext/imap/php_imap_arginfo.h | 323 |
3 files changed, 684 insertions, 368 deletions
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index e178e96b5e..97a0fd48ca 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -46,6 +46,7 @@ #undef ERROR #endif #include "php_imap.h" +#include "php_imap_arginfo.h" #include <time.h> #include <stdio.h> @@ -97,373 +98,6 @@ void *fs_get(size_t size); ZEND_DECLARE_MODULE_GLOBALS(imap) static PHP_GINIT_FUNCTION(imap); -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_open, 0, 0, 3) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, user) - ZEND_ARG_INFO(0, password) - ZEND_ARG_INFO(0, options) - ZEND_ARG_INFO(0, n_retries) - ZEND_ARG_INFO(0, params) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_reopen, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, options) - ZEND_ARG_INFO(0, n_retries) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_append, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, folder) - ZEND_ARG_INFO(0, message) - ZEND_ARG_INFO(0, options) - ZEND_ARG_INFO(0, date) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_num_msg, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_ping, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_num_recent, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_get_quota, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, qroot) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_get_quotaroot, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mbox) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_set_quota, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, qroot) - ZEND_ARG_INFO(0, mailbox_size) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_setacl, 0, 0, 4) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, id) - ZEND_ARG_INFO(0, rights) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_getacl, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_expunge, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_gc, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, flags) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_close, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_headers, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_body, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mail_copy, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msglist) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mail_move, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, sequence) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_createmailbox, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_renamemailbox, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, old_name) - ZEND_ARG_INFO(0, new_name) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_deletemailbox, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_list, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, ref) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_getmailboxes, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, ref) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_listscan, 0, 0, 4) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, ref) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, content) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_check, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_delete, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_undelete, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, flags) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_headerinfo, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, from_length) - ZEND_ARG_INFO(0, subject_length) - ZEND_ARG_INFO(0, default_host) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_rfc822_parse_headers, 0, 0, 1) - ZEND_ARG_INFO(0, headers) - ZEND_ARG_INFO(0, default_host) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_lsub, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, ref) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_getsubscribed, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, ref) - ZEND_ARG_INFO(0, pattern) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_subscribe, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_unsubscribe, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_fetchstructure, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_fetchbody, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, section) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_savebody, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, file) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, section) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_base64, 0, 0, 1) - ZEND_ARG_INFO(0, text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_qprint, 0, 0, 1) - ZEND_ARG_INFO(0, text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_8bit, 0, 0, 1) - ZEND_ARG_INFO(0, text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_binary, 0, 0, 1) - ZEND_ARG_INFO(0, text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mailboxmsginfo, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_rfc822_write_address, 0, 0, 3) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, host) - ZEND_ARG_INFO(0, personal) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_rfc822_parse_adrlist, 0, 0, 2) - ZEND_ARG_INFO(0, address_string) - ZEND_ARG_INFO(0, default_host) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_utf8, 0, 0, 1) - ZEND_ARG_INFO(0, mime_encoded_text) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_utf7_decode, 0, 0, 1) - ZEND_ARG_INFO(0, buf) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_utf7_encode, 0, 0, 1) - ZEND_ARG_INFO(0, buf) -ZEND_END_ARG_INFO() - -#ifdef HAVE_IMAP_MUTF7 -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_utf8_to_mutf7, 0, 0, 1) - ZEND_ARG_INFO(0, in) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mutf7_to_utf8, 0, 0, 1) - ZEND_ARG_INFO(0, in) -ZEND_END_ARG_INFO() -#endif - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_setflag_full, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, sequence) - ZEND_ARG_INFO(0, flag) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_clearflag_full, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, sequence) - ZEND_ARG_INFO(0, flag) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_sort, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, criteria) - ZEND_ARG_INFO(0, reverse) - ZEND_ARG_INFO(0, options) - ZEND_ARG_INFO(0, search_criteria) - ZEND_ARG_INFO(0, charset) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_fetchheader, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_uid, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_msgno, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, unique_msg_id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_status, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, mailbox) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_bodystruct, 0, 0, 3) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, msg_no) - ZEND_ARG_INFO(0, section) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_fetch_overview, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, sequence) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mail_compose, 0, 0, 2) - ZEND_ARG_INFO(0, envelope) - ZEND_ARG_INFO(0, body) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mail, 0, 0, 3) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, subject) - ZEND_ARG_INFO(0, message) - ZEND_ARG_INFO(0, additional_headers) - ZEND_ARG_INFO(0, cc) - ZEND_ARG_INFO(0, bcc) - ZEND_ARG_INFO(0, rpath) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_search, 0, 0, 2) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, criteria) - ZEND_ARG_INFO(0, options) - ZEND_ARG_INFO(0, charset) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imap_alerts, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imap_errors, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_imap_last_error, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mime_header_decode, 0, 0, 1) - ZEND_ARG_INFO(0, str) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_thread, 0, 0, 1) - ZEND_ARG_INFO(0, stream_id) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_timeout, 0, 0, 1) - ZEND_ARG_INFO(0, timeout_type) - ZEND_ARG_INFO(0, timeout) -ZEND_END_ARG_INFO() -/* }}} */ /* {{{ imap_functions[] */ @@ -481,7 +115,7 @@ static const zend_function_entry imap_functions[] = { PHP_FE(imap_body, arginfo_imap_body) PHP_FE(imap_bodystruct, arginfo_imap_bodystruct) PHP_FE(imap_fetchbody, arginfo_imap_fetchbody) - PHP_FE(imap_fetchmime, arginfo_imap_fetchbody) + PHP_FE(imap_fetchmime, arginfo_imap_fetchmime) PHP_FE(imap_savebody, arginfo_imap_savebody) PHP_FE(imap_fetchheader, arginfo_imap_fetchheader) PHP_FE(imap_fetchstructure, arginfo_imap_fetchstructure) diff --git a/ext/imap/php_imap.stub.php b/ext/imap/php_imap.stub.php new file mode 100644 index 0000000000..ab3a24b54d --- /dev/null +++ b/ext/imap/php_imap.stub.php @@ -0,0 +1,359 @@ +<?php + +/** + * @return resource|false + */ +function imap_open(string $mailbox, string $user, string $password, int $options = 0, int $n_retries = 0, array $params = UNKNOWN) {} + +/** + * @param resource $stream_id + */ +function imap_reopen($stream_id, string $mailbox, int $options = 0, int $n_retries = 0): bool {} + +/** + * @param resource $stream_id + */ +function imap_close($stream_id, int $options = 0): bool {} + +/** + * @param resource $stream_id + * @return int|false + */ +function imap_num_msg($stream_id) {} + +/** + * @param resource $stream_id + * @return int|false + */ +function imap_num_recent($stream_id) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_headers($stream_id) {} + +/** + * @param resource $stream_id + * @return \stdClass|false + */ +function imap_headerinfo($stream_id, int $msg_no, int $from_length = 0, int $subject_length = 0, string $default_host = UNKNOWN) {} + +function imap_rfc822_parse_headers(string $headers, string $default_host = 'UNKNOWN'): \stdClass {} + +/** + * @return string|false + */ +function imap_rfc822_write_address(string $mailbox, string $host, string $personal) {} + +function imap_rfc822_parse_adrlist(string $address_string, string $default_host): array {} + + +/** + * @param resource $stream_id + * @return string|false + */ +function imap_body($stream_id, int $msg_no, int $options = 0) {} + + +/** + * @param resource $stream_id + * @return \stdClass|false + */ +function imap_bodystruct($stream_id, int $msg_no, string $section) {} + +/** + * @param resource $stream_id + * @return string|false + */ +function imap_fetchbody($stream_id, int $msg_no, string $section, int $options = 0) {} + +/** + * @param resource $stream_id + * @return string|false + */ +function imap_fetchmime($stream_id, int $msg_no, string $section, int $options = 0) {} + + +/** + * @param resource $stream_id + * @todo: should $file be `resouce|string`? it looks like it tries to accept anything? + */ +function imap_savebody($stream_id, $file, int $msg_no, string $section = '', int $options = 0): bool {} + +/** + * @param resource $stream_id + * @return string|false + */ +function imap_fetchheader($stream_id, int $msg_no, int $options = 0) {} + +/** + * @param resource $stream_id + * @return \stdClass|false + */ +function imap_fetchstructure($stream_id, int $msg_no, int $options = 0) {} + +/** + * @param resource $stream_id + */ +function imap_gc($stream_id, int $flags): bool {} + +/** + * @param resource $stream_id + */ +function imap_expunge($stream_id): bool {} + +/** + * @param resource $stream_id + */ +function imap_delete($stream_id, string $msg_no, int $options = 0): bool {} + +/** + * @param resource $stream_id + */ +function imap_undelete($stream_id, string $msg_no, int $options = 0): bool {} + +/** + * @param resource $stream_id + * @return \stdClass|false + */ +function imap_check($stream_id) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_listscan($stream_id, string $ref, string $pattern, string $content) {} + +/** + * @param resource $stream_id + */ +function imap_mail_copy($stream_id, string $msglist, string $mailbox, int $options = 0): bool {} + +/** + * @param resource $stream_id + */ +function imap_mail_move($stream_id, string $sequence, string $mailbox, int $options = 0): bool {} + +/** + * @return string|false + */ +function imap_mail_compose(array $envelope, array $body) {} + +/** + * @param resource $stream_id + */ +function imap_createmailbox($stream_id, string $mailbox): bool {} + +/** + * @param resource $stream_id + */ +function imap_renamemailbox($stream_id, string $old_name, string $new_name): bool {} + +/** + * @param resource $stream_id + */ +function imap_deletemailbox($stream_id, string $mailbox): bool {} + +/** + * @param resource $stream_id + */ +function imap_subscribe($stream_id, string $mailbox): bool {} + +/** + * @param resource $stream_id + */ +function imap_unsubscribe($stream_id, string $mailbox): bool {} + +/** + * @param resource $stream_id + */ +function imap_append($stream_id, string $folder, string $message, string $options = UNKNOWN, string $internal_date = UNKNOWN): bool {} + +/** + * @param resource $stream_id + */ +function imap_ping($stream_id): bool {} + +/** + * @return string|false + */ +function imap_base64(string $text) {} + +/** + * @return string|false + */ +function imap_qprint(string $text) {} + +/** + * @return string|false + */ +function imap_8bit(string $text) {} + +/** + * @return string|false + */ +function imap_binary(string $text) {} + + +function imap_utf8(string $mime_encoded_text): string {} + +/** + * @param resource $stream_id + * @return \stdClass|false + */ +function imap_status($stream_id, string $mailbox, int $options) {} + +/** + * @param resource $stream_id + */ +function imap_mailboxmsginfo($stream_id): \stdClass {} + +/** + * @param resource $stream_id + */ +function imap_setflag_full($stream_id, string $sequence, string $flag, int $options = 0): bool {} + +/** + * @param resource $stream_id + */ +function imap_clearflag_full($stream_id, string $sequence, string $flag, int $options = 0): bool {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_sort($stream_id, int $criteria, int $reverse, int $options = 0, string $search_criteria = UNKNOWN, string $charset = UNKNOWN) {} + + +/** + * @param resource $stream_id + * @return int|false + */ +function imap_uid($stream_id, int $msg_no) {} + +/** + * @param resource $stream_id + * @return int|false + */ +function imap_msgno($stream_id, int $unique_msg_id) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_list($stream_id, string $ref, string $pattern) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_lsub($stream_id, string $ref, string $pattern) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_getsubscribed($stream_id, string $ref, string $pattern) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_getmailboxes($stream_id, string $ref, string $pattern) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_fetch_overview($stream_id, string $sequence, int $options = 0) {} + +/** + * @return array|false + */ +function imap_alerts() {} + +/** + * @return array|false + */ +function imap_errors() {} + +/** + * @return string|false + */ +function imap_last_error() {} + + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_search($stream_id, string $criteria, int $options = \SE_FREE, string $charset = '') {} + +/** + * @return string|false + */ +function imap_utf7_decode(string $buf) {} + +function imap_utf7_encode(string $buf): string {} + +#ifdef HAVE_IMAP_MUTF7 +/** + * @return string|false + */ +function imap_utf8_to_mutf7(string $in) {} + +/** + * @return string|false + */ +function imap_mutf7_to_utf8(string $in) {} +#endif + +/** + * @return array|false + */ +function imap_mime_header_decode(string $str) {} + + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_thread($stream_id, int $options = \SE_FREE) {} + +/** + * @return int|bool + */ +function imap_timeout(int $timeout_type, int $timeout = -1) {} + +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +/** + * @param resource $stream_id + * @return array|false + */ +function imap_get_quota($stream_id, string $qroot) {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_get_quotaroot($stream_id, string $mbox) {} + +/** + * @param resource $stream_id + */ +function imap_set_quota($stream_id, string $qroot, int $mailbox_size): bool {} + +/** + * @param resource $stream_id + */ +function imap_setacl($stream_id, string $mailbox, string $id, string $rights): bool {} + +/** + * @param resource $stream_id + * @return array|false + */ +function imap_getacl($stream_id, string $mailbox) {} +#endif + +function imap_mail(string $to, string $subject, string $message, string $additional_headers = UNKNOWN, string $cc = UNKNOWN, string $bcc = UNKNOWN, string $rpath = UNKNOWN): bool {} diff --git a/ext/imap/php_imap_arginfo.h b/ext/imap/php_imap_arginfo.h new file mode 100644 index 0000000000..b39e445758 --- /dev/null +++ b/ext/imap/php_imap_arginfo.h @@ -0,0 +1,323 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_open, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, user, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, n_retries, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, params, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_reopen, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, n_retries, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_close, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_num_msg, 0, 0, 1) + ZEND_ARG_INFO(0, stream_id) +ZEND_END_ARG_INFO() + +#define arginfo_imap_num_recent arginfo_imap_num_msg + +#define arginfo_imap_headers arginfo_imap_num_msg + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_headerinfo, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, from_length, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, subject_length, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, default_host, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_imap_rfc822_parse_headers, 0, 1, stdClass, 0) + ZEND_ARG_TYPE_INFO(0, headers, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, default_host, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_rfc822_write_address, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, host, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, personal, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_rfc822_parse_adrlist, 0, 2, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, address_string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, default_host, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_body, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_bodystruct, 0, 0, 3) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, section, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_fetchbody, 0, 0, 3) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, section, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_fetchmime arginfo_imap_fetchbody + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_savebody, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_INFO(0, file) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, section, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_fetchheader arginfo_imap_body + +#define arginfo_imap_fetchstructure arginfo_imap_body + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_gc, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_expunge, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_delete, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_undelete arginfo_imap_delete + +#define arginfo_imap_check arginfo_imap_num_msg + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_listscan, 0, 0, 4) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, ref, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_mail_copy, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msglist, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_mail_move, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, sequence, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mail_compose, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, envelope, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, body, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_createmailbox, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_renamemailbox, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, old_name, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, new_name, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_deletemailbox arginfo_imap_createmailbox + +#define arginfo_imap_subscribe arginfo_imap_createmailbox + +#define arginfo_imap_unsubscribe arginfo_imap_createmailbox + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_append, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, folder, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, internal_date, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_ping arginfo_imap_expunge + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_base64, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_qprint arginfo_imap_base64 + +#define arginfo_imap_8bit arginfo_imap_base64 + +#define arginfo_imap_binary arginfo_imap_base64 + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_utf8, 0, 1, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, mime_encoded_text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_status, 0, 0, 3) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_imap_mailboxmsginfo, 0, 1, stdClass, 0) + ZEND_ARG_INFO(0, stream_id) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_setflag_full, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, sequence, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, flag, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_clearflag_full arginfo_imap_setflag_full + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_sort, 0, 0, 3) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, criteria, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, reverse, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, search_criteria, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, charset, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_uid, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, msg_no, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_msgno, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, unique_msg_id, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_list, 0, 0, 3) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, ref, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_lsub arginfo_imap_list + +#define arginfo_imap_getsubscribed arginfo_imap_list + +#define arginfo_imap_getmailboxes arginfo_imap_list + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_fetch_overview, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, sequence, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_alerts, 0, 0, 0) +ZEND_END_ARG_INFO() + +#define arginfo_imap_errors arginfo_imap_alerts + +#define arginfo_imap_last_error arginfo_imap_alerts + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_search, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, criteria, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, charset, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_utf7_decode, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, buf, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_utf7_encode, 0, 1, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, buf, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#if defined(HAVE_IMAP_MUTF7) +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_utf8_to_mutf7, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, in, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if defined(HAVE_IMAP_MUTF7) +#define arginfo_imap_mutf7_to_utf8 arginfo_imap_utf8_to_mutf7 +#endif + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_mime_header_decode, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_thread, 0, 0, 1) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_timeout, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, timeout_type, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, timeout, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_get_quota, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, qroot, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_get_quotaroot, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, mbox, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_set_quota, 0, 3, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, qroot, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, mailbox_size, IS_LONG, 0) +ZEND_END_ARG_INFO() +#endif + +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_setacl, 0, 4, _IS_BOOL, 0) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, id, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, rights, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_getacl, 0, 0, 2) + ZEND_ARG_INFO(0, stream_id) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_mail, 0, 3, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, additional_headers, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, cc, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, bcc, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, rpath, IS_STRING, 0) +ZEND_END_ARG_INFO() |