diff options
author | Tim Potter <tpot@samba.org> | 2005-05-29 03:53:36 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:17:11 -0500 |
commit | 14ade23914b328fcb5924488c2416dfa7748e4ab (patch) | |
tree | 488e2f05ae2641051392f704dde4fcf667511c84 /source4/web_server/ejs/miniMpr.h | |
parent | de850cb754f8ea49acc80e4303a9835578768154 (diff) | |
download | samba-14ade23914b328fcb5924488c2416dfa7748e4ab.tar.gz samba-14ade23914b328fcb5924488c2416dfa7748e4ab.tar.bz2 samba-14ade23914b328fcb5924488c2416dfa7748e4ab.zip |
r7065: Move ejs from web_server to lib so it can be shared with smbscript.
(This used to be commit b83dc8fbfb9ffe30654bc4869398f50dd9ccccb7)
Diffstat (limited to 'source4/web_server/ejs/miniMpr.h')
-rw-r--r-- | source4/web_server/ejs/miniMpr.h | 290 |
1 files changed, 0 insertions, 290 deletions
diff --git a/source4/web_server/ejs/miniMpr.h b/source4/web_server/ejs/miniMpr.h deleted file mode 100644 index b34fb2e293..0000000000 --- a/source4/web_server/ejs/miniMpr.h +++ /dev/null @@ -1,290 +0,0 @@ -/* - * @file miniMpr.h - * @brief Mini Mbedthis Portable Runtime (MPR) Environment. - * @copy default - * - * Copyright (c) Mbedthis Software LLC, 2003-2005. All Rights Reserved. - * - * This software is distributed under commercial and open source licenses. - * You may use the GPL open source license described below or you may acquire - * a commercial license from Mbedthis Software. You agree to be fully bound - * by the terms of either license. Consult the LICENSE.TXT distributed with - * this software for full details. - * - * This software is open source; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See the GNU General Public License for more - * details at: http://www.mbedthis.com/downloads/gplLicense.html - * - * This program is distributed WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * This GPL license does NOT permit incorporating this software into - * proprietary programs. If you are unable to comply with the GPL, you must - * acquire a commercial license to use this software. Commercial licenses - * for this software and support services are available from Mbedthis - * Software at http://www.mbedthis.com - * - * @end - */ -#ifndef _h_MINI_MPR -#define _h_MINI_MPR 1 - -/********************************** Includes **********************************/ -/* - * Find out about our configuration - */ -#ifndef _INCLUDES_H - #include "includes.h" -#endif - -/* allow this library to use strcpy() */ -#undef strcpy - #include "config.h" - -#if BLD_APPWEB - /* - * If building within AppWeb, use the full MPR - */ - #include "mpr.h" -#else - - #include <ctype.h> - #include <fcntl.h> - #include <stdarg.h> - #include <stdlib.h> - #include <stdio.h> - #include <string.h> - #include <sys/stat.h> - -#if !WIN - #include <unistd.h> -#endif - -#if CE - #include <io.h> - #include "CE/wincompat.h" -#endif - -#if LYNX - #include <unistd.h> -#endif - -#if QNX4 - #include <dirent.h> -#endif - -/********************************** Defines ***********************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -#if BLD_FEATURE_SQUEEZE -/// -/// Reasonable length of a file path name to use in most cases where you know -/// the expected file name and it is certain to be less than this limit. -/// -#define MPR_MAX_FNAME 128 -#define MPR_MAX_STRING 512 -#define MPR_DEFAULT_HASH_SIZE 23 // Default size of hash table index -#define MPR_MAX_HEAP_SIZE (32 * 1024) -#else -#define MPR_MAX_FNAME 256 -#define MPR_MAX_STRING 4096 -#define MPR_DEFAULT_HASH_SIZE 43 // Default size of hash table index -#define MPR_MAX_HEAP_SIZE (64 * 1024) -#endif - -/* - * Useful for debugging - */ -#define MPR_L __FILE__, __LINE__ - -#if BLD_FEATURE_ASSERT -#define mprAssert(C) \ - if (C) ; else mprBreakpoint(__FILE__, __LINE__, #C) -#else - #define mprAssert(C) if (1) ; else -#endif - -/// -/// Standard MPR return and error codes -/// -#define MPR_ERR_BASE (-200) ///< Error code -#define MPR_ERR_GENERAL (MPR_ERR_BASE - 1) ///< Error code -#define MPR_ERR_ABORTED (MPR_ERR_BASE - 2) ///< Error code -#define MPR_ERR_ALREADY_EXISTS (MPR_ERR_BASE - 3) ///< Error code -#define MPR_ERR_BAD_ARGS (MPR_ERR_BASE - 4) ///< Error code -#define MPR_ERR_BAD_FORMAT (MPR_ERR_BASE - 5) ///< Error code -#define MPR_ERR_BAD_HANDLE (MPR_ERR_BASE - 6) ///< Error code -#define MPR_ERR_BAD_STATE (MPR_ERR_BASE - 7) ///< Error code -#define MPR_ERR_BAD_SYNTAX (MPR_ERR_BASE - 8) ///< Error code -#define MPR_ERR_BAD_TYPE (MPR_ERR_BASE - 9) ///< Error code -#define MPR_ERR_BAD_VALUE (MPR_ERR_BASE - 10) ///< Error code -#define MPR_ERR_BUSY (MPR_ERR_BASE - 11) ///< Error code -#define MPR_ERR_CANT_ACCESS (MPR_ERR_BASE - 12) ///< Error code -#define MPR_ERR_CANT_COMPLETE (MPR_ERR_BASE - 13) ///< Error code -#define MPR_ERR_CANT_CREATE (MPR_ERR_BASE - 14) ///< Error code -#define MPR_ERR_CANT_INITIALIZE (MPR_ERR_BASE - 15) ///< Error code -#define MPR_ERR_CANT_OPEN (MPR_ERR_BASE - 16) ///< Error code -#define MPR_ERR_CANT_READ (MPR_ERR_BASE - 17) ///< Error code -#define MPR_ERR_CANT_WRITE (MPR_ERR_BASE - 18) ///< Error code -#define MPR_ERR_DELETED (MPR_ERR_BASE - 19) ///< Error code -#define MPR_ERR_NETWORK (MPR_ERR_BASE - 20) ///< Error code -#define MPR_ERR_NOT_FOUND (MPR_ERR_BASE - 21) ///< Error code -#define MPR_ERR_NOT_INITIALIZED (MPR_ERR_BASE - 22) ///< Error code -#define MPR_ERR_NOT_READY (MPR_ERR_BASE - 23) ///< Error code -#define MPR_ERR_READ_ONLY (MPR_ERR_BASE - 24) ///< Error code -#define MPR_ERR_TIMEOUT (MPR_ERR_BASE - 25) ///< Error code -#define MPR_ERR_TOO_MANY (MPR_ERR_BASE - 26) ///< Error code -#define MPR_ERR_WONT_FIT (MPR_ERR_BASE - 27) ///< Error code -#define MPR_ERR_WOULD_BLOCK (MPR_ERR_BASE - 28) ///< Error code -#define MPR_ERR_CANT_ALLOCATE (MPR_ERR_BASE - 29) ///< Error code -#define MPR_ERR_MAX (MPR_ERR_BASE - 30) ///< Error code - -// -// Standard error severity and trace levels. These are ored with the error -// severities below. The MPR_LOG_MASK is used to extract the trace level -// from a flags word. We expect most apps to run with level 2 trace. -// -#define MPR_FATAL 0 ///< Fatal error. Cant continue. -#define MPR_ERROR 1 ///< Hard error -#define MPR_WARN 2 ///< Soft warning -#define MPR_CONFIG 2 ///< Essential configuration settings -#define MPR_INFO 3 ///< Informational only -#define MPR_DEBUG 4 ///< Debug information -#define MPR_VERBOSE 9 ///< Highest level of trace -#define MPR_LOG_MASK 0xf ///< Level mask - -// -// Error flags. Specify where the error should be sent to. Note that the -// product.xml setting "headless" will modify how errors are reported. -// Assert errors are trapped when in DEV mode. Otherwise ignored. -// -#define MPR_TRAP 0x10 ///< Assert error -- trap in debugger -#define MPR_LOG 0x20 ///< Log the error in the O/S event log -#define MPR_USER 0x40 ///< Display to the user -#define MPR_ALERT 0x80 ///< Send a management alert -#define MPR_TRACE 0x100 ///< Trace - -// -// Error format flags -// -#define MPR_RAW 0x200 // Raw trace output - -// -// Error line number information -// -#define MPR_L __FILE__, __LINE__ - -typedef char* MprStr; - -#ifndef __cplusplus -typedef unsigned char uchar; -typedef int bool; -#endif - -/* - * Porters: put other operating system type defines here - */ -#if WIN - typedef unsigned int uint; - typedef __int64 int64; - typedef unsigned __int64 uint64; -#else -#define O_BINARY 0 -#ifndef uint - #define uint unsigned -#endif - __extension__ typedef long long int int64; - __extension__ typedef unsigned long long int uint64; -#endif - -/* - * Flexible array data type - */ -typedef struct { - int max; /* Size of the handles array */ - int used; /* Count of used entries in handles */ - void **handles; -} MprArray; - -#if BLD_FEATURE_SQUEEZE -#define MPR_ARRAY_INCR 8 -#else -#define MPR_ARRAY_INCR 16 -#endif - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -/********************************* Prototypes *********************************/ -/* - * If running in the GoAhead WebServer, map some MPR routines to WebServer - * equivalents. - */ - -#if BLD_GOAHEAD_WEBSERVER -#include "uemf.h" -#define mprMalloc(size) balloc(B_L, size) -#define mprFree(ptr) bfreeSafe(B_L, ptr) -#define mprRealloc(ptr, size) brealloc(B_L, ptr, size) -#define mprStrdup(ptr) bstrdup(B_L, ptr) -#define mprAllocSprintf fmtAlloc -#define mprAllocVsprintf fmtValloc -#define mprSprintf fmtStatic -#define mprItoa stritoa -#define mprLog trace -#define mprBreakpoint(file, line, cond) \ - error(file, line, E_BLD_FEATURE_ASSERT, T("%s"), cond) - -#else /* !BLD_GOAHEAD_WEBSERVER */ -//#define mprMalloc malloc -#define mprSprintf snprintf -#define mtVsprintf vsnprintf -extern void *mprMalloc(uint size); -extern void *mprRealloc(void *ptr, uint size); -extern void mprFree(void *ptr); -extern char *mprStrdup(const char *str); -extern int mprAllocVsprintf(char **msgbuf, int maxSize, const char *fmt, - va_list args) PRINTF_ATTRIBUTE(3,0); -extern int mprAllocSprintf(char **msgbuf, int maxSize, const char *fmt, ...) PRINTF_ATTRIBUTE(3,4); -extern char *mprItoa(int num, char *buf, int width); -extern void mprLog(int level, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3); -extern void mprBreakpoint(const char *file, int line, const char *msg); -#endif /* BLD_GOAHEAD_WEBSERVER */ - -extern MprArray *mprCreateArray(void); -extern void mprDestroyArray(MprArray *array); -extern int mprAddToArray(MprArray *array, void *item); -extern int mprRemoveFromArray(MprArray *array, int idx); -extern char *mprStrTok(char *str, const char *delim, char **tok); - -extern int mprGetDirName(char *buf, int bufsize, char *path); -extern int mprReallocStrcat(char **dest, int max, int existingLen, - const char *delim, const char *src, ...); -extern int mprStrcpy(char *dest, int destMax, const char *src); -extern int mprMemcpy(char *dest, int destMax, const char *src, int nbytes); - -extern void mprSetCtx(void *ctx); - -#ifdef __cplusplus -} -#endif -#endif /* !BLD_APPWEB */ -#endif /* _h_MINI_MPR */ - -/*****************************************************************************/ - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim:tw=78 - * vim600: sw=4 ts=4 fdm=marker - * vim<600: sw=4 ts=4 - */ |