⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compat.h

📁 boa:Linux系统中的轻量级Web服务
💻 H
字号:
/* *  Boa, an http server *  Copyright (C) 1995 Paul Phillips <paulp@go2net.com> *  Some changes Copyright (C) 1999-2000 Jon Nelson <jnelson@boa.org> *   and Larry Doolittle <ldoolitt@boa.org> * *  This program is free software; 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 1, or (at your option) *  any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *//* $Id: compat.h,v 1.18.2.1 2002/06/06 05:02:28 jnelson Exp $*/#ifndef _COMPAT_H#define _COMPAT_H#include "config.h"#ifdef TIME_WITH_SYS_TIME#include <sys/time.h>#endif#ifdef HAVE_SYS_FCNTL_H#include <sys/fcntl.h>#endif#ifndef OPEN_MAX#define OPEN_MAX 256#endif#ifndef NI_MAXHOST#define NI_MAXHOST 20#endif#include <sys/socket.h>#ifndef SO_MAXCONN#define SO_MAXCONN 250#endif#ifndef PATH_MAX#define PATH_MAX 2048#endif/* Wild guess time, probably better done with configure */#ifdef O_NONBLOCK#define NOBLOCK O_NONBLOCK  /* Linux */#else /* O_NONBLOCK */#ifdef O_NDELAY#define NOBLOCK O_NDELAY    /* Sun */#else  /* O_NDELAY */#error "Can't find a way to #define NOBLOCK"#endif /* O_NDELAY */#endif /* O_NONBLOCK */#ifndef MAP_FILE#define MAP_OPTIONS MAP_PRIVATE /* Sun */#else#define MAP_OPTIONS MAP_FILE|MAP_PRIVATE /* Linux */#endif#ifdef INET6#define SOCKADDR sockaddr_storage#define S_FAMILY __s_family#define SERVER_AF AF_INET6#else#define SOCKADDR sockaddr_in#define S_FAMILY sin_family#define SERVER_AF AF_INET#endif#if HAVE_DIRENT_H# include <dirent.h># define NAMLEN(dirent) strlen((dirent)->d_name)#else# define dirent direct# define NAMLEN(dirent) (dirent)->d_namlen# if HAVE_SYS_NDIR_H#  include <sys/ndir.h># endif# if HAVE_SYS_DIR_H#  include <sys/dir.h># endif# if HAVE_NDIR_H#  include <ndir.h># endif#endif/* below here, functions are provided in extras */#ifndef HAVE_SCANDIRintscandir(const char *dir, struct dirent ***namelist,        int (*select) (const struct dirent *),        int (*compar) (const struct dirent **, const struct dirent **));#endif#ifndef HAVE_ALPHASORTint alphasort(const struct dirent **a, const struct dirent **b);#endif#ifndef HAVE_STRSTRchar *strstr(char *s1, char *s2);#endif#ifndef HAVE_STRDUPchar *strdup(char *s);#endif#ifdef HAVE_TM_GMTOFF#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff#else#define TIMEZONE_OFFSET(foo) timezone#endif#ifdef HAVE_TM_ZONE#define TIMEZONE(foo) foo##->tm_zone#else#define TIMEZONE(foo) *tzname#endif#ifdef HAVE_LIBDMALLOC#define DMALLOC_FUNC_CHECK#include <dmalloc.h>#endif#ifdef HAVE_GETOPT_H#include <getopt.h>#endif#endif

⌨️ 快捷键说明

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