X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_message_body.h;h=22f492a72c167267a1220901f4146d1d9692dcc6;hp=b6872073d08a93d33954d57f353d94c16e8223f4;hb=32580f1d50d0481c9069b65ef30d0acd59ada3bb;hpb=df06e2dbf48a3b0d96f2c62071c1b5fc907a98d0 diff --git a/php_http_message_body.h b/php_http_message_body.h index b687207..22f492a 100644 --- a/php_http_message_body.h +++ b/php_http_message_body.h @@ -6,12 +6,10 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2010, Michael Wallner | + | Copyright (c) 2004-2011, Michael Wallner | +--------------------------------------------------------------------+ */ -/* $Id: php_http_message_body_api.h 292841 2009-12-31 08:48:57Z mike $ */ - #ifndef PHP_HTTP_MESSAGE_BODY_H #define PHP_HTTP_MESSAGE_BODY_H @@ -24,22 +22,26 @@ typedef struct php_http_message_body { #endif } php_http_message_body_t; +typedef struct php_http_message php_http_message_t; + PHP_HTTP_API php_http_message_body_t *php_http_message_body_init(php_http_message_body_t *body, php_stream *stream TSRMLS_DC); -PHP_HTTP_API php_http_message_body_t *php_http_message_body_copy(php_http_message_body_t *from, php_http_message_body_t *to, zend_bool dup_internal_stream_and_contents TSRMLS_DC); +PHP_HTTP_API php_http_message_body_t *php_http_message_body_copy(php_http_message_body_t *from, php_http_message_body_t *to, zend_bool dup_internal_stream_and_contents); PHP_HTTP_API STATUS php_http_message_body_add(php_http_message_body_t *body, HashTable *fields, HashTable *files); PHP_HTTP_API STATUS php_http_message_body_add_field(php_http_message_body_t *body, const char *name, const char *value_str, size_t value_len); -PHP_HTTP_API STATUS php_http_message_body_add_file(php_http_message_body_t *body, const char *name, const char *path, const char *ctype); +PHP_HTTP_API STATUS php_http_message_body_add_file(php_http_message_body_t *body, const char *name, const char *ctype, const char *file, php_stream *stream); PHP_HTTP_API size_t php_http_message_body_append(php_http_message_body_t *body, const char *buf, size_t len); +PHP_HTTP_API size_t php_http_message_body_appendf(php_http_message_body_t *body, const char *fmt, ...); PHP_HTTP_API void php_http_message_body_to_string(php_http_message_body_t *body, char **buf, size_t *len, off_t offset, size_t forlen); PHP_HTTP_API void php_http_message_body_to_stream(php_http_message_body_t *body, php_stream *s, off_t offset, size_t forlen); PHP_HTTP_API void php_http_message_body_to_callback(php_http_message_body_t *body, php_http_pass_callback_t cb, void *cb_arg, off_t offset, size_t forlen); PHP_HTTP_API void php_http_message_body_dtor(php_http_message_body_t *body); PHP_HTTP_API void php_http_message_body_free(php_http_message_body_t **body); -PHP_HTTP_API php_stream_statbuf *php_http_message_body_stat(php_http_message_body_t *body); +PHP_HTTP_API const php_stream_statbuf *php_http_message_body_stat(php_http_message_body_t *body); #define php_http_message_body_size(b) (php_http_message_body_stat((b))->sb.st_size) #define php_http_message_body_mtime(b) (php_http_message_body_stat((b))->sb.st_mtime) PHP_HTTP_API char *php_http_message_body_etag(php_http_message_body_t *body); PHP_HTTP_API const char *php_http_message_body_boundary(php_http_message_body_t *body); +PHP_HTTP_API php_http_message_t *php_http_message_body_split(php_http_message_body_t *body, const char *boundary); static inline php_stream *php_http_message_body_stream(php_http_message_body_t *body) { @@ -69,6 +71,8 @@ PHP_METHOD(HttpMessageBody, toStream); PHP_METHOD(HttpMessageBody, toCallback); PHP_METHOD(HttpMessageBody, append); PHP_METHOD(HttpMessageBody, add); +PHP_METHOD(HttpMessageBody, etag); +PHP_METHOD(HttpMessageBody, stat); #endif