jk_global.h

来自「Tomcat 4.1与WebServer集成组件的源代码包.」· C头文件 代码 · 共 226 行

H
226
字号
/* ========================================================================= * *                                                                           * *                 The Apache Software License,  Version 1.1                 * *                                                                           * *          Copyright (c) 1999-2001 The Apache Software Foundation.          * *                           All rights reserved.                            * *                                                                           * * ========================================================================= * *                                                                           * * Redistribution and use in source and binary forms,  with or without modi- * * fication, are permitted provided that the following conditions are met:   * *                                                                           * * 1. Redistributions of source code  must retain the above copyright notice * *    notice, this list of conditions and the following disclaimer.          * *                                                                           * * 2. Redistributions  in binary  form  must  reproduce the  above copyright * *    notice,  this list of conditions  and the following  disclaimer in the * *    documentation and/or other materials provided with the distribution.   * *                                                                           * * 3. The end-user documentation  included with the redistribution,  if any, * *    must include the following acknowlegement:                             * *                                                                           * *       "This product includes  software developed  by the Apache  Software * *        Foundation <http://www.apache.org/>."                              * *                                                                           * *    Alternately, this acknowlegement may appear in the software itself, if * *    and wherever such third-party acknowlegements normally appear.         * *                                                                           * * 4. The names  "The  Jakarta  Project",  "Jk",  and  "Apache  Software     * *    Foundation"  must not be used  to endorse or promote  products derived * *    from this  software without  prior  written  permission.  For  written * *    permission, please contact <apache@apache.org>.                        * *                                                                           * * 5. Products derived from this software may not be called "Apache" nor may * *    "Apache" appear in their names without prior written permission of the * *    Apache Software Foundation.                                            * *                                                                           * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES * * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY * * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL * * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY * * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL * * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS * * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) * * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, * * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE * * POSSIBILITY OF SUCH DAMAGE.                                               * *                                                                           * * ========================================================================= * *                                                                           * * This software  consists of voluntary  contributions made  by many indivi- * * duals on behalf of the  Apache Software Foundation.  For more information * * on the Apache Software Foundation, please see <http://www.apache.org/>.   * *                                                                           * * ========================================================================= *//*************************************************************************** * Description: Global definitions and include files that should exist     * *              anywhere                                                   * * Author:      Gal Shachor <shachor@il.ibm.com>                           * * Version:     $Revision: 1.24 $                                               * ***************************************************************************/#ifndef JK_GLOBAL_H#define JK_GLOBAL_H#include "jk_version.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdarg.h>#include <errno.h>#include <time.h>#include <ctype.h>#ifdef AS400#include "ap_config.h"#include "apr_strings.h"#include "apr_lib.h"extern char *strdup (const char *str);#endif#include <sys/types.h>#include <sys/stat.h>#ifdef WIN32    #include <windows.h>    #include <winsock.h>    #include <sys/timeb.h>#else    #include <unistd.h>    #include <netdb.h>    #include <netinet/in.h>    #include <sys/socket.h>    #ifndef NETWARE        #include <netinet/tcp.h>        #include <arpa/inet.h>        #include <sys/un.h>        #if !defined(_OSD_POSIX) && !defined(AS400) && !defined(CYGWIN)            #include <sys/socketvar.h>        #endif        #if !defined(HPUX11) && !defined(AS400)            #include <sys/select.h>        #endif    #endif            #include <sys/time.h>    #include <sys/ioctl.h>#endif#ifdef __cplusplusextern "C" {#endif /* __cplusplus */#define JK_WORKER_FILE_TAG      ("worker_file")#define JK_MOUNT_FILE_TAG       ("worker_mount_file")#define JK_LOG_LEVEL_TAG        ("log_level")#define JK_LOG_FILE_TAG         ("log_file")#define JK_WORKER_NAME_TAG      ("worker")#define JK_WORKER_FILE_DEF  ("workers.properties")#define JK_LOG_LEVEL_DEF    ("emerg")#define JK_TRUE  (1)#define JK_FALSE (0)#define JK_LF (10)#define JK_CR (13)#define JK_SESSION_IDENTIFIER "JSESSIONID"#define JK_PATH_SESSION_IDENTIFIER ";jsessionid"#if defined(WIN32) || defined(NETWARE)    #define JK_METHOD __stdcall    #define C_LEVEL_TRY_START       __try {    #define C_LEVEL_TRY_END         }    #define C_LEVEL_FINALLY_START   __finally {    #define C_LEVEL_FINALLY_END     }    #define PATH_SEPERATOR          (';')    #define FILE_SEPERATOR          ('\\')    #define PATH_ENV_VARIABLE       ("PATH")    /* incompatible names... */    #ifndef strcasecmp         #define strcasecmp stricmp    #endif#else    #define JK_METHOD    #define C_LEVEL_TRY_START           #define C_LEVEL_TRY_END             #define C_LEVEL_FINALLY_START       #define C_LEVEL_FINALLY_END         #define PATH_SEPERATOR          (':')    #define FILE_SEPERATOR          ('/')    #define PATH_ENV_VARIABLE       ("LD_LIBRARY_PATH")#endif/* * JK options */#define JK_OPT_FWDURIMASK           0x0003#define JK_OPT_FWDURICOMPAT         0x0001#define JK_OPT_FWDURICOMPATUNPARSED 0x0002#define JK_OPT_FWDURIESCAPED        0x0003#define JK_OPT_FWDURIDEFAULT        JK_OPT_FWDURICOMPAT#define JK_OPT_FWDKEYSIZE           0x0004#define JK_OPT_FWDDIRS              0x0008/* Check for EBCDIC systems *//* Check for Apache 2.0 running on an EBCDIC system */#if APR_CHARSET_EBCDIC #include <util_ebcdic.h>#define USE_CHARSET_EBCDIC#define jk_xlate_to_ascii(b, l) ap_xlate_proto_to_ascii(b, l)#define jk_xlate_from_ascii(b, l) ap_xlate_proto_from_ascii(b, l)#else   /* APR_CHARSET_EBCDIC *//* Check for Apache 1.3 running on an EBCDIC system */#ifdef CHARSET_EBCDIC#define USE_CHARSET_EBCDIC#define jk_xlate_to_ascii(b, l) ebcdic2ascii(b, b, l)#define jk_xlate_from_ascii(b, l) ascii2ebcdic(b, b, l)#else /* CHARSET_EBCDIC *//* We're in on an ASCII system */#define jk_xlate_to_ascii(b, l)             /* NOOP */#define jk_xlate_from_ascii(b, l)           /* NOOP */#endif /* CHARSET_EBCDIC */#endif /* APR_CHARSET_EBCDIC */#ifdef WIN32/* For WIN32, emulate gettimeofday() using _ftime() */#define gettimeofday(tv,tz) { struct _timeb tb; _ftime(&tb); (tv)->tv_sec = tb.time; (tv)->tv_usec = tb.millitm * 1000; }/* define snprint to match windows version */#define snprintf _snprintf/* define vsnprint to match windows version */#define vsnprintf _vsnprintf#endif#if defined(NETWARE) || defined(AS400)#define USE_SPRINTF#define USE_VSPRINTF#endif#ifdef __cplusplus}#endif /* __cplusplus */#endif /* JK_GLOBAL_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?