From c4dd7a1a684490673e25aaf4fabec5df138854c4 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Thu, 14 Mar 2013 05:42:27 +0000 Subject: Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2. --- netware/sendmail_nw.h | 19 ++++++++ netware/start.c | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 netware/sendmail_nw.h create mode 100644 netware/start.c (limited to 'netware') diff --git a/netware/sendmail_nw.h b/netware/sendmail_nw.h new file mode 100644 index 0000000..b88f8e1 --- /dev/null +++ b/netware/sendmail_nw.h @@ -0,0 +1,19 @@ + +#define closesocket close +#define LPCSTR char * +#define LPSTR char* +#define FAR +#ifdef USE_WINSOCK +#include +#else +#include /* For struct sockaddr, 'PF_INET' and 'AF_INET' */ +#include /* For struct sockaddr_in */ +#include /* For struct hostent */ +#endif /* USE_WINSOCK */ + +typedef int SOCKET; /* Borrowed from winsock\novsock2.h */ +typedef struct sockaddr_in SOCKADDR_IN; +typedef struct sockaddr * LPSOCKADDR; +typedef struct hostent * LPHOSTENT; + +#define INVALID_SOCKET (SOCKET)(~0) /* Borrowed from winsock\novsock2.h */ diff --git a/netware/start.c b/netware/start.c new file mode 100644 index 0000000..2765ffb --- /dev/null +++ b/netware/start.c @@ -0,0 +1,119 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2013 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Novell, Inc. | + +----------------------------------------------------------------------+ + */ + + +#include +#include +#include + +void *gLibHandle = (void *) NULL; +rtag_t gAllocTag = (rtag_t) NULL; +NXMutex_t *gLibLock = (NXMutex_t *) NULL; +int gLibId = 0; + + +int DisposeLibraryData( void *data) +{ + return 0; +} + + +int _NonAppStart +( + void *NLMHandle, + void *errorScreen, + const char *cmdLine, + const char *loadDirPath, + size_t uninitializedDataLength, + void *NLMFileHandle, + int (*readRoutineP)( int conn, void *fileHandle, size_t offset, + size_t nbytes, size_t *bytesRead, void *buffer ), + size_t customDataOffset, + size_t customDataSize, + int messageCount, + const char **messages +) +{ + NX_LOCK_INFO_ALLOC(liblock, "Per-Application Data Lock", 0); + +#pragma unused(cmdLine) +#pragma unused(loadDirPath) +#pragma unused(uninitializedDataLength) +#pragma unused(NLMFileHandle) +#pragma unused(readRoutineP) +#pragma unused(customDataOffset) +#pragma unused(customDataSize) +#pragma unused(messageCount) +#pragma unused(messages) + +/* Here we process our command line, post errors (to the error screen), + * perform initializations and anything else we need to do before being able + * to accept calls into us. If we succeed, we return non-zero and the NetWare + * Loader will leave us up, otherwise we fail to load and get dumped. + */ +/** + gAllocTag = AllocateResourceTag(NLMHandle, + " memory allocations", AllocSignature); + if (!gAllocTag) { + OutputToScreen(errorScreen, "Unable to allocate resource tag for " + "library memory allocations.\n"); + return -1; + } +**/ + gLibId = register_library(DisposeLibraryData); + if (gLibId == -1) { + OutputToScreen(errorScreen, "Unable to register library with kernel.\n"); + return -1; + } + + gLibHandle = NLMHandle; + + gLibLock = NXMutexAlloc(0, 0, &liblock); + if (!gLibLock) { + OutputToScreen(errorScreen, "Unable to allocate library data lock.\n"); + return -1; + } + + return 0; +} + + +void _NonAppStop( void ) +{ +/* Here we clean up any resources we allocated. Resource tags is a big part + * of what we created, but NetWare doesn't ask us to free those. + */ + (void) unregister_library(gLibId); + NXMutexFree(gLibLock); +} + + +int _NonAppCheckUnload( void ) +{ +/* This function cannot be the first in the file for if the file is linked + * first, then the check-unload function's offset will be nlmname.nlm+0 + * which is how to tell that there isn't one. When the check function is + * first in the linked objects, it is ambiguous. For this reason, we will + * put it inside this file after the stop function. + * + * Here we check to see if it's alright to ourselves to be unloaded. If not, + * we return a non-zero value. Right now, there isn't any reason not to allow + * it. + */ + return 0; +} -- cgit v1.2.1