summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorHartmut Holzgraefe <hholzgra@php.net>2004-02-20 08:04:30 +0000
committerHartmut Holzgraefe <hholzgra@php.net>2004-02-20 08:04:30 +0000
commitb8f7d9f9f5c44d2100aa9691cac1838f57cbfb40 (patch)
tree914210864d6bf78c9a7efda71ba6d369a2fb38eb /main
parent1727c6a2bb0dec1635b9da90f88308effb54ebb2 (diff)
downloadphp-git-b8f7d9f9f5c44d2100aa9691cac1838f57cbfb40.tar.gz
wrap all PHPAPI prototypes into BEGIN_EXTERN_C/END_EXTERN_C blocks
(else they won't be usable from C++ extensions)
Diffstat (limited to 'main')
-rw-r--r--main/php_memory_streams.h3
-rw-r--r--main/php_network.h7
-rw-r--r--main/php_open_temporary_file.h2
-rw-r--r--main/php_output.h2
-rw-r--r--main/php_reentrancy.h4
-rwxr-xr-xmain/php_streams.h17
-rw-r--r--main/php_ticks.h3
-rw-r--r--main/safe_mode.h8
8 files changed, 41 insertions, 5 deletions
diff --git a/main/php_memory_streams.h b/main/php_memory_streams.h
index 37ff932c00..4af7745efe 100644
--- a/main/php_memory_streams.h
+++ b/main/php_memory_streams.h
@@ -38,13 +38,14 @@
#define php_stream_temp_create_rel(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_REL_CC TSRMLS_CC)
#define php_stream_temp_open(mode, max_memory_usage, buf, length) _php_stream_temp_open((mode), (max_memory_usage), (buf), (length) STREAMS_CC TSRMLS_CC)
-
+BEGIN_EXTERN_C()
PHPAPI php_stream *_php_stream_memory_create(int mode STREAMS_DC TSRMLS_DC);
PHPAPI php_stream *_php_stream_memory_open(int mode, char *buf, size_t length STREAMS_DC TSRMLS_DC);
PHPAPI char *_php_stream_memory_get_buffer(php_stream *stream, size_t *length STREAMS_DC TSRMLS_DC);
PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC);
PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char *buf, size_t length STREAMS_DC TSRMLS_DC);
+END_EXTERN_C()
extern php_stream_ops php_stream_memory_ops;
extern php_stream_ops php_stream_temp_ops;
diff --git a/main/php_network.h b/main/php_network.h
index b165e21b32..3d791e8fa7 100644
--- a/main/php_network.h
+++ b/main/php_network.h
@@ -62,7 +62,9 @@
/* like strerror, but caller must efree the returned string,
* unless buf is not NULL.
* Also works sensibly for win32 */
+BEGIN_EXTERN_C()
PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize);
+END_EXTERN_C()
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
@@ -120,6 +122,7 @@ typedef struct {
} php_sockaddr_storage;
#endif
+BEGIN_EXTERN_C()
PHPAPI php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short port,
int socktype, int asynchronous, struct timeval *timeout, char **error_string,
int *error_code
@@ -163,7 +166,7 @@ PHPAPI int php_network_get_peer_name(php_socket_t sock,
PHPAPI void php_any_addr(int family, php_sockaddr_storage *addr, unsigned short port);
PHPAPI int php_sockaddr_size(php_sockaddr_storage *addr);
-
+END_EXTERN_C()
struct _php_netstream_data_t {
php_socket_t socket;
@@ -177,6 +180,7 @@ PHPAPI extern php_stream_ops php_stream_socket_ops;
extern php_stream_ops php_stream_generic_socket_ops;
#define PHP_STREAM_IS_SOCKET (&php_stream_socket_ops)
+BEGIN_EXTERN_C()
PHPAPI php_stream *_php_stream_sock_open_from_socket(php_socket_t socket, const char *persistent_id STREAMS_DC TSRMLS_DC );
/* open a connection to a host using php_hostconnect and return a stream */
PHPAPI php_stream *_php_stream_sock_open_host(const char *host, unsigned short port,
@@ -193,6 +197,7 @@ PHPAPI void php_network_populate_name_from_sockaddr(
PHPAPI int php_network_parse_network_address_with_port(const char *addr,
long addrlen, struct sockaddr *sa, socklen_t *sl TSRMLS_DC);
+END_EXTERN_C()
#define php_stream_sock_open_from_socket(socket, persistent) _php_stream_sock_open_from_socket((socket), (persistent) STREAMS_CC TSRMLS_CC)
#define php_stream_sock_open_host(host, port, socktype, timeout, persistent) _php_stream_sock_open_host((host), (port), (socktype), (timeout), (persistent) STREAMS_CC TSRMLS_CC)
diff --git a/main/php_open_temporary_file.h b/main/php_open_temporary_file.h
index 50092d0e52..db1c5f8493 100644
--- a/main/php_open_temporary_file.h
+++ b/main/php_open_temporary_file.h
@@ -21,7 +21,9 @@
#ifndef PHP_OPEN_TEMPORARY_FILE_H
#define PHP_OPEN_TEMPORARY_FILE_H
+BEGIN_EXTERN_C()
PHPAPI FILE *php_open_temporary_file(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC);
PHPAPI int php_open_temporary_fd(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC);
+END_EXTERN_C()
#endif /* PHP_OPEN_TEMPORARY_FILE_H */
diff --git a/main/php_output.h b/main/php_output.h
index 04d69e2672..a1e6c81c1f 100644
--- a/main/php_output.h
+++ b/main/php_output.h
@@ -23,6 +23,7 @@
typedef void (*php_output_handler_func_t)(char *output, uint output_len, char **handled_output, uint *handled_output_len, int mode TSRMLS_DC);
+BEGIN_EXTERN_C()
PHPAPI void php_output_startup(void);
PHPAPI void php_output_activate(TSRMLS_D);
PHPAPI void php_output_set_status(zend_bool status TSRMLS_DC);
@@ -44,6 +45,7 @@ PHPAPI int php_ob_handler_used(char *handler_name TSRMLS_DC);
PHPAPI int php_ob_init_conflict(char *handler_new, char *handler_set TSRMLS_DC);
PHPAPI int php_ob_get_buffer(zval *p TSRMLS_DC);
PHPAPI int php_ob_get_length(zval *p TSRMLS_DC);
+END_EXTERN_C()
PHP_FUNCTION(ob_start);
PHP_FUNCTION(ob_flush);
diff --git a/main/php_reentrancy.h b/main/php_reentrancy.h
index bbbe0343ab..8a329f14f5 100644
--- a/main/php_reentrancy.h
+++ b/main/php_reentrancy.h
@@ -49,6 +49,8 @@
#undef HAVE_GMTIME_R
#endif
+BEGIN_EXTERN_C()
+
#if defined(HAVE_POSIX_READDIR_R)
#define php_readdir_r readdir_r
#else
@@ -114,6 +116,8 @@ PHPAPI int php_rand_r(unsigned int *seed);
#define php_rand_r rand_r
#endif
+END_EXTERN_C()
+
#if !defined(ZTS)
#undef PHP_NEED_REENTRANCY
#endif
diff --git a/main/php_streams.h b/main/php_streams.h
index 47ed1181e3..586148f3c6 100755
--- a/main/php_streams.h
+++ b/main/php_streams.h
@@ -27,8 +27,10 @@
#include <sys/types.h>
#include <sys/stat.h>
+BEGIN_EXTERN_C()
PHPAPI int php_file_le_stream(void);
PHPAPI int php_file_le_pstream(void);
+END_EXTERN_C()
/* {{{ Streams memory debugging stuff */
@@ -226,8 +228,10 @@ struct _php_stream {
#define PHP_STREAM_FCLOSE_FOPENCOOKIE 2
/* allocate a new stream for a particular ops */
+BEGIN_EXTERN_C()
PHPAPI php_stream *_php_stream_alloc(php_stream_ops *ops, void *abstract,
const char *persistent_id, const char *mode STREAMS_DC TSRMLS_DC);
+END_EXTERN_C()
#define php_stream_alloc(ops, thisptr, persistent_id, mode) _php_stream_alloc((ops), (thisptr), (persistent_id), (mode) STREAMS_CC TSRMLS_CC)
@@ -247,6 +251,7 @@ PHPAPI php_stream *_php_stream_alloc(php_stream_ops *ops, void *abstract,
#define php_stream_from_zval(xstr, ppzval) ZEND_FETCH_RESOURCE2((xstr), php_stream *, (ppzval), -1, "stream", php_file_le_stream(), php_file_le_pstream())
#define php_stream_from_zval_no_verify(xstr, ppzval) (xstr) = (php_stream*)zend_fetch_resource((ppzval) TSRMLS_CC, -1, "stream", NULL, 2, php_file_le_stream(), php_file_le_pstream())
+BEGIN_EXTERN_C()
PHPAPI int php_stream_from_persistent_id(const char *persistent_id, php_stream **stream TSRMLS_DC);
#define PHP_STREAM_PERSISTENT_SUCCESS 0 /* id exists */
#define PHP_STREAM_PERSISTENT_FAILURE 1 /* id exists but is not a stream! */
@@ -260,6 +265,7 @@ PHPAPI int php_stream_from_persistent_id(const char *persistent_id, php_stream *
#define PHP_STREAM_FREE_CLOSE (PHP_STREAM_FREE_CALL_DTOR | PHP_STREAM_FREE_RELEASE_STREAM)
#define PHP_STREAM_FREE_CLOSE_CASTED (PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_PRESERVE_HANDLE)
#define PHP_STREAM_FREE_CLOSE_PERSISTENT (PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_PERSISTENT)
+
PHPAPI int _php_stream_free(php_stream *stream, int close_options TSRMLS_DC);
#define php_stream_free(stream, close_options) _php_stream_free((stream), (close_options) TSRMLS_CC)
#define php_stream_close(stream) _php_stream_free((stream), PHP_STREAM_FREE_CLOSE TSRMLS_CC)
@@ -337,6 +343,9 @@ PHPAPI int _php_stream_set_option(php_stream *stream, int option, int value, voi
#define php_stream_set_chunk_size(stream, size) _php_stream_set_option((stream), PHP_STREAM_OPTION_SET_CHUNK_SIZE, (size), NULL TSRMLS_CC)
+END_EXTERN_C()
+
+
/* Flags for mkdir method in wrapper ops */
#define PHP_STREAM_MKDIR_RECURSIVE 1
/* define REPORT ERRORS 8 (below) */
@@ -384,8 +393,10 @@ PHPAPI int _php_stream_set_option(php_stream *stream, int option, int value, voi
#define php_stream_truncate_supported(stream) (_php_stream_set_option((stream), PHP_STREAM_OPTION_TRUNCATE_API, PHP_STREAM_TRUNCATE_SUPPORTED, NULL TSRMLS_CC) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0)
+BEGIN_EXTERN_C()
PHPAPI int _php_stream_truncate_set_size(php_stream *stream, size_t newsize TSRMLS_DC);
#define php_stream_truncate_set_size(stream, size) _php_stream_truncate_set_size((stream), (size) TSRMLS_CC)
+END_EXTERN_C()
#define PHP_STREAM_OPTION_META_DATA_API 11 /* ptrparam is a zval* to which to add meta data information */
#define php_stream_populate_meta_data(stream, zv) (_php_stream_set_option((stream), PHP_STREAM_OPTION_META_DATA_API, 0, zv TSRMLS_CC) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0)
@@ -401,6 +412,7 @@ PHPAPI int _php_stream_truncate_set_size(php_stream *stream, size_t newsize TSRM
/* copy up to maxlen bytes from src to dest. If maxlen is PHP_STREAM_COPY_ALL, copy until eof(src).
* Uses mmap if the src is a plain file and at offset 0 */
#define PHP_STREAM_COPY_ALL -1
+BEGIN_EXTERN_C()
PHPAPI size_t _php_stream_copy_to_stream(php_stream *src, php_stream *dest, size_t maxlen STREAMS_DC TSRMLS_DC);
#define php_stream_copy_to_stream(src, dest, maxlen) _php_stream_copy_to_stream((src), (dest), (maxlen) STREAMS_CC TSRMLS_CC)
@@ -414,6 +426,7 @@ PHPAPI size_t _php_stream_copy_to_mem(php_stream *src, char **buf, size_t maxlen
/* output all data from a stream */
PHPAPI size_t _php_stream_passthru(php_stream * src STREAMS_DC TSRMLS_DC);
#define php_stream_passthru(stream) _php_stream_passthru((stream) STREAMS_CC TSRMLS_CC)
+END_EXTERN_C()
#include "streams/php_stream_transport.h"
#include "streams/php_stream_plain_wrapper.h"
@@ -435,7 +448,9 @@ PHPAPI size_t _php_stream_passthru(php_stream * src STREAMS_DC TSRMLS_DC);
#define PHP_STREAM_CAST_RELEASE 0x40000000 /* stream becomes invalid on success */
#define PHP_STREAM_CAST_INTERNAL 0x20000000 /* stream cast for internal use */
#define PHP_STREAM_CAST_MASK (PHP_STREAM_CAST_TRY_HARD | PHP_STREAM_CAST_RELEASE | PHP_STREAM_CAST_INTERNAL)
+BEGIN_EXTERN_C()
PHPAPI int _php_stream_cast(php_stream *stream, int castas, void **ret, int show_err TSRMLS_DC);
+END_EXTERN_C()
/* use this to check if a stream can be cast into another form */
#define php_stream_can_cast(stream, as) _php_stream_cast((stream), (as), NULL, 0 TSRMLS_CC)
#define php_stream_cast(stream, as, ret, show_err) _php_stream_cast((stream), (as), (ret), (show_err) TSRMLS_CC)
@@ -491,6 +506,7 @@ int php_init_stream_wrappers(int module_number TSRMLS_DC);
int php_shutdown_stream_wrappers(int module_number TSRMLS_DC);
PHP_RSHUTDOWN_FUNCTION(streams);
+BEGIN_EXTERN_C()
PHPAPI int php_register_url_stream_wrapper(char *protocol, php_stream_wrapper *wrapper TSRMLS_DC);
PHPAPI int php_unregister_url_stream_wrapper(char *protocol TSRMLS_DC);
PHPAPI php_stream *_php_stream_open_wrapper_ex(char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
@@ -524,6 +540,7 @@ PHPAPI int _php_stream_make_seekable(php_stream *origstream, php_stream **newstr
/* Give other modules access to the url_stream_wrappers_hash and stream_filters_hash */
PHPAPI HashTable *php_stream_get_url_stream_wrappers_hash();
PHPAPI HashTable *php_get_stream_filters_hash();
+END_EXTERN_C()
#endif
/*
diff --git a/main/php_ticks.h b/main/php_ticks.h
index e6550d3d79..600f11b0f9 100644
--- a/main/php_ticks.h
+++ b/main/php_ticks.h
@@ -24,8 +24,11 @@
int php_startup_ticks(TSRMLS_D);
void php_shutdown_ticks(TSRMLS_D);
void php_run_ticks(int count);
+
+BEGIN_EXTERN_C()
PHPAPI void php_add_tick_function(void (*func)(int));
PHPAPI void php_remove_tick_function(void (*func)(int));
+END_EXTERN_C()
#endif
diff --git a/main/safe_mode.h b/main/safe_mode.h
index d03eabf292..40f69cf93c 100644
--- a/main/safe_mode.h
+++ b/main/safe_mode.h
@@ -32,8 +32,10 @@
/* flags for php_checkuid_ex() */
#define CHECKUID_NO_ERRORS 0x01
-extern PHPAPI int php_checkuid(const char *filename, char *fopen_mode, int mode);
-extern PHPAPI int php_checkuid_ex(const char *filename, char *fopen_mode, int mode, int flags);
-extern PHPAPI char *php_get_current_user(void);
+BEGIN_EXTERN_C()
+PHPAPI int php_checkuid(const char *filename, char *fopen_mode, int mode);
+PHPAPI int php_checkuid_ex(const char *filename, char *fopen_mode, int mode, int flags);
+PHPAPI char *php_get_current_user(void);
+END_EXTERN_C()
#endif