]> granicus.if.org Git - php/commitdiff
NetWare related changes
authorVenkat Raghavan S <rvenkat@php.net>
Fri, 31 May 2002 04:49:45 +0000 (04:49 +0000)
committerVenkat Raghavan S <rvenkat@php.net>
Fri, 31 May 2002 04:49:45 +0000 (04:49 +0000)
main/config.nw.h [new file with mode: 0644]
main/php.h
main/php_compat.h
sapi/apache/mod_php4.c
sapi/apache/php_apache.c
sapi/apache/php_apache_http.h

diff --git a/main/config.nw.h b/main/config.nw.h
new file mode 100644 (file)
index 0000000..b2c15b5
--- /dev/null
@@ -0,0 +1,274 @@
+/* config.nw.h.  Configure file for NetWare platform */
+
+
+/****
+
+Need to carefully look into each constant and either define or undef it w.r.t. NetWare.
+
+****/
+
+
+/* Define if PHP to setup it's own SIGCHLD handler (not needed on NetWare) */
+#define PHP_SIGCHILD 0
+
+/* dns functions found in resolv.lib */
+#define HAVE_LIBBIND 1
+
+#define HAVE_GETSERVBYNAME 1
+#define HAVE_GETSERVBYPORT 1
+#define HAVE_GETPROTOBYNAME 1
+#define HAVE_GETPROTOBYNUMBER 1
+
+/* set to enable bcmath */
+#define WITH_BCMATH 1
+
+/* set to enable mysql */
+#define HAVE_MYSQL 1
+
+/* set to enable FTP support */
+#define HAVE_FTP 1
+
+/* set to enable bundled PCRE library */
+#define HAVE_BUNDLED_PCRE      1
+
+/* set to enable bundled expat library */
+/* #define HAVE_LIBEXPAT 1 */ /* For now */
+#define HAVE_WDDX 0
+
+/* set to enable the crypt command */
+/* #define HAVE_CRYPT 1 */
+/* #define HAVE_CRYPT_H 1 */
+
+/* set to enable force cgi redirect */
+#define FORCE_CGI_REDIRECT 0
+
+/* should be added to runtime config*/
+#define PHP_URL_FOPEN 1
+
+#define STDIN_FILENO 0
+#define STDOUT_FILENO 1
+#define STDERR_FILENO 2
+
+/* ----------------------------------------------------------------
+   The following are defaults for run-time configuration
+   ---------------------------------------------------------------*/
+
+#define PHP_SAFE_MODE 0
+#define MAGIC_QUOTES 0
+/* This is the default configuration file to read */
+#define CONFIGURATION_FILE_PATH "php.ini"
+#define USE_CONFIG_FILE 1
+
+#define PHP_INCLUDE_PATH       NULL
+
+
+/* Undefine if you want stricter XML/SGML compliance by default */
+/* this disables "<?expression?>" and "<?=expression?>" */
+#define DEFAULT_SHORT_OPEN_TAG "1"
+
+
+/* ----------------------------------------------------------------
+   The following defines are for those modules which require
+   external libraries to compile.  These will be removed from 
+   here in a future beta, as these modules will be moved out to dll's 
+   ---------------------------------------------------------------*/
+#define HAVE_ERRMSG_H 0 /*needed for mysql 3.21.17 and up*/
+#undef HAVE_ADABAS
+#undef HAVE_SOLID
+
+
+/* ----------------------------------------------------------------
+   The following may or may not be (or need to be) ported to the
+   windows environment.
+   ---------------------------------------------------------------*/
+
+/* Define if you have the link function.  */
+#undef HAVE_LINK
+
+/* Define if you have the symlink function.  */
+#undef HAVE_SYMLINK
+
+/* Define if you have the usleep function.  */
+#undef HAVE_USLEEP
+
+#define HAVE_GETCWD 1
+/* #define HAVE_POSIX_READDIR_R 1 */  /* We will use readdir() from LibC */
+
+#define NEED_ISBLANK 1
+
+/* ----------------------------------------------------------------
+   The following should never need to be played with
+   Functions defined to 0 or remarked out are either already
+   handled by the standard VC libraries, or are no longer needed, or
+   simply will/can not be ported.
+
+   DONT TOUCH!!!!!  Unless you realy know what your messing with!
+   ---------------------------------------------------------------*/
+
+#define DISCARD_PATH 0
+#undef HAVE_SETITIMER
+#undef HAVE_IODBC
+#define HAVE_UODBC 1
+#define HAVE_LIBDL 1
+#define HAVE_SENDMAIL 1
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_PUTENV 1
+#define HAVE_LIMITS_H 1
+
+#define HAVE_TZSET 1
+#define HAVE_TZNAME 1
+
+/* Define if you have the flock function.  */
+#undef HAVE_FLOCK
+
+/* Define if you have alloca, as a function or macro.  */
+/* Though we have alloca(), this seems to be causing some problem with the stack pointer -- hence not using it */
+/* #define HAVE_ALLOCA 1 */
+
+/* Define if you have <sys/time.h> */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have <signal.h> */
+#define HAVE_SIGNAL_H 1
+
+/* Define if your struct stat has st_blksize.  */
+#define HAVE_ST_BLKSIZE
+
+/* Define if your struct stat has st_blocks.  */
+#define HAVE_ST_BLOCKS
+
+/* Define if your struct stat has st_rdev.  */
+#define HAVE_ST_RDEV 1
+
+/* Define if utime(file, NULL) sets file's timestamp to the present.  */
+#define HAVE_UTIME_NULL 1
+
+/* Define if you have the vprintf function.  */
+#define HAVE_VPRINTF 1
+
+/* Define if you have the ANSI C header files.  */
+#define STDC_HEADERS 1
+
+/* Define both of these if you want the bundled REGEX library */
+#define REGEX 1
+#define HSREGEX 1
+
+#define HAVE_PCRE 1
+
+#define HAVE_LDAP 1
+
+/* Define if you have the gcvt function.  */
+/* #define HAVE_GCVT 1 */
+
+/* Define if you have the getlogin function.  */
+/* #define HAVE_GETLOGIN 1 */
+
+/* Define if you have the gettimeofday function.  */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if you have the memcpy function.  */
+#define HAVE_MEMCPY 1
+
+/* Define if you have the memmove function.  */
+#define HAVE_MEMMOVE 1
+
+/* Define if you have the putenv function.  */
+/* #define HAVE_PUTENV 1 */   /* Why are such things defined in more than one place ? */
+
+/* Define if you have the regcomp function.  */
+/* #define HAVE_REGCOMP 1 */
+
+/* Define if you have the setlocale function.  */
+/* #define HAVE_SETLOCALE 1 */    /* LibC doesn't seem to be supporting fully -- hence commenting for now */
+
+#define HAVE_LOCALECONV 1
+
+#define HAVE_LOCALE_H 1
+
+/* Define if you have the setvbuf function.  */
+#ifndef HAVE_LIBBIND
+#define HAVE_SETVBUF 1
+#endif
+
+/* Define if you have the snprintf function.  */
+#define HAVE_SNPRINTF 1
+#define HAVE_VSNPRINTF 1
+/* Define if you have the strcasecmp function.  */
+#define HAVE_STRCASECMP 1
+
+/* Define if you have the strdup function.  */
+#define HAVE_STRDUP 1
+
+/* Define if you have the strerror function.  */
+#define HAVE_STRERROR 1
+
+/* Define if you have the strstr function.  */
+#define HAVE_STRSTR 1
+
+/* Define if you have the tempnam function.  */
+#define HAVE_TEMPNAM 1
+
+/* Define if you have the utime function.  */
+#define HAVE_UTIME 1
+
+/* Define if you have the <dirent.h> header file.  */
+#define HAVE_DIRENT_H
+
+/* Define if you have the <fcntl.h> header file.  */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <grp.h> header file.  */
+#define HAVE_GRP_H 0
+
+/* Define if you have the <pwd.h> header file.  */
+#define HAVE_PWD_H 1
+
+/* Define if you have the <string.h> header file.  */
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/file.h> header file.  */
+#undef HAVE_SYS_FILE_H
+
+/* Define if you have the <sys/socket.h> header file.  */
+#define HAVE_SYS_SOCKET_H 1 /* Added '1' for '#if' to work */
+
+/* Define if you have the <sys/wait.h> header file.  */
+#undef HAVE_SYS_WAIT_H
+
+/* Define if you have the <syslog.h> header file.  */
+/* #define HAVE_SYSLOG_H 1 */
+
+/* Define if you have the <unistd.h> header file.  */
+#define HAVE_UNISTD_H 1 /* Added '1' for '#if' to work */
+
+/* Define if you have the dl library (-ldl).  */
+#define HAVE_LIBDL 1
+
+/* Define if you have the m library (-lm).  */
+#define HAVE_LIBM 1
+
+/* Define if you have the cuserid function.  */
+#define HAVE_CUSERID 0
+
+/* Define if you have the rint function.  */
+#undef HAVE_RINT
+
+#define HAVE_STRFTIME 1
+
+/* Default directory for loading extensions.  */
+#define PHP_EXTENSION_DIR "sys:/php/ext"
+
+#define SIZEOF_INT 4
+
+/* Define directory constants for php and pear */
+
+/* Venkat (20/12/01) */
+#define APACHE_MODULE_DIR "sys:/apache/modules"
+#define PHP_BINDIR "sys:/php"
+#define PHP_LIBDIR PHP_BINDIR
+#define PHP_DATADIR PHP_BINDIR
+#define PHP_SYSCONFDIR PHP_BINDIR
+#define PHP_LOCALSTATEDIR PHP_BINDIR
+#define PHP_CONFIG_FILE_PATH "sys:/php"
+#define PEAR_INSTALLDIR "sys:/php/pear"
+
index fc667c4f39557042eee25d956ed06780bdec327f..9fe824949e26d17e637345fc438ca14065427922 100644 (file)
 #define PHP_DIR_SEPARATOR '/'
 #endif
 
+#ifdef NETWARE
+#define PHP_UNAME  "NetWare"    /* For php_get_uname() function */
+#define PHP_OS      PHP_UNAME  /* This is obtained using 'uname' on Unix and assigned in the case of Windows;
+                                   we'll do it this way atleast for now */
+#endif
+
 #include "php_regex.h"
 
 #if HAVE_ASSERT_H
@@ -179,6 +185,9 @@ char *strerror(int);
 # ifdef PHP_WIN32
 #include "win32/pwd.h"
 #include "win32/param.h"
+#elif defined(NETWARE)
+#include <sys/param.h>
+#include "NetWare/pwd.h"
 # else
 #include <pwd.h>
 #include <sys/param.h>
index 7c9a16480c1e5e87e944d45dad177baad723e8d1..bd65b41f3645f7dac29606423211f18ef8bc67a6 100644 (file)
@@ -3,6 +3,8 @@
 
 #ifdef PHP_WIN32
 #include "config.w32.h"
+#elif defined(NETWARE)
+#include "config.nw.h"
 #else
 #include "php_config.h"
 #endif
index 0faa7b13f45f13921bb07f472a6d24fd7bbed821..e3afd228b47ef7c20f19a9adb0136ca4760ed788 100644 (file)
 
 #include "php_apache_http.h"
 
+#ifdef NETWARE
+#define SIGPIPE SIGINT
+#endif
+
 #if defined(ZEND_MULTIBYTE) && defined(HAVE_MBSTRING)
 #include "ext/mbstring/mbstring.h"
 #endif /* defined(ZEND_MULTIBYTE) && defined(HAVE_MBSTRING) */
index b7572922b5d11e7d9f31db9aa64a98e10ecbabed..21ca18a177d3633af667af65516963a81570ecfc 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "php_apache_http.h"
 
-#ifdef PHP_WIN32
+#if defined(PHP_WIN32) || defined(NETWARE)
 #include "zend.h"
 #include "ap_compat.h"
 #else
@@ -77,7 +77,11 @@ static void php_apache_globals_ctor(php_apache_info_struct *apache_globals TSRML
 static PHP_MINIT_FUNCTION(apache)
 {
 #ifdef ZTS
+#ifndef NETWARE
        ts_allocate_id(&php_apache_info_id, sizeof(php_apache_info_struct), php_apache_globals_ctor, NULL);
+#else
+       ts_allocate_id(&php_apache_info_id, sizeof(php_apache_info_struct), (void (*)(void *, void ***))php_apache_globals_ctor, NULL);
+#endif
 #else
        php_apache_globals_ctor(&php_apache_info TSRMLS_CC);
 #endif
@@ -180,6 +184,10 @@ PHP_MINFO_FUNCTION(apache)
        php_info_print_table_row(1, "Apache for Windows 95/NT");
        php_info_print_table_end();
        php_info_print_table_start();
+#elif defined(NETWARE)
+       php_info_print_table_row(1, "Apache for NetWare");
+       php_info_print_table_end();
+       php_info_print_table_start();
 #else
        php_info_print_table_row(2, "APACHE_INCLUDE", PHP_APACHE_INCLUDE);
        php_info_print_table_row(2, "APACHE_TARGET", PHP_APACHE_TARGET);
@@ -204,6 +212,11 @@ PHP_MINFO_FUNCTION(apache)
        sprintf(output_buf, "Connection: %d - Keep-Alive: %d", serv->timeout, serv->keep_alive_timeout);
        php_info_print_table_row(2, "Timeouts", output_buf);
 #if !defined(WIN32) && !defined(WINNT)
+/*
+    This block seems to be working on NetWare; But it seems to be showing
+    all modules instead of just the loaded ones
+*/
+
        php_info_print_table_row(2, "Server Root", server_root);
 
        strcpy(modulenames, "");
index 6d41f418ab01f5b3817a0c192093ce7a218371da..56590fb822ecd233f05359952715fbb93b6ec9b8 100644 (file)
@@ -5,6 +5,10 @@
 #include <stddef.h>
 #endif
 
+#ifdef NETWARE
+#include <netinet/in.h>
+#endif
+
 #include "zend.h"
 #include "php_regex.h"