📄 defines.h
字号:
/* * Boa, an http server * Copyright (C) 1995 Paul Phillips <paulp@go2net.com> * Some changes Copyright (C) 1997 Jon Nelson <jnelson@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: defines.h,v 1.107.2.2 2002/06/07 02:57:23 jnelson Exp $*/#ifndef _DEFINES_H#define _DEFINES_H/***** Change this, or use -c on the command line to specify it *****/#ifndef SERVER_ROOT#define SERVER_ROOT "/etc/boa"#endif/***** Change this via the CGIPath configuration value in boa.conf *****/#define DEFAULT_PATH "/bin:/usr/bin:/usr/local/bin"/***** Change this via the SinglePostLimit configuration value in boa.conf *****/#define SINGLE_POST_LIMIT_DEFAULT 1024 * 1024 /* 1 MB *//***** Various stuff that you may want to tweak, but probably shouldn't *****/#define SOCKETBUF_SIZE 8192#define MAX_HEADER_LENGTH 1024#define CLIENT_STREAM_SIZE SOCKETBUF_SIZE#define BUFFER_SIZE CLIENT_STREAM_SIZE#define MIME_HASHTABLE_SIZE 47#define ALIAS_HASHTABLE_SIZE 17#define PASSWD_HASHTABLE_SIZE 47#define REQUEST_TIMEOUT 60#define CGI_MIME_TYPE "application/x-httpd-cgi"/***** CHANGE ANYTHING BELOW THIS LINE AT YOUR OWN PERIL *****//***** You will probably introduce buffer overruns unless you know what you are doing *****/#define MAX_SITENAME_LENGTH 256#define MAX_LOG_LENGTH MAX_HEADER_LENGTH + 1024#define MAX_FILE_LENGTH NAME_MAX#define MAX_PATH_LENGTH PATH_MAX#ifdef ACCEPT_ON#define MAX_ACCEPT_LENGTH MAX_HEADER_LENGTH#else#define MAX_ACCEPT_LENGTH 0#endif#ifndef SERVER_VERSION#define SERVER_VERSION "Boa/0.94.13"#endif#define CGI_VERSION "CGI/1.1"#define COMMON_CGI_COUNT 6#define CGI_ENV_MAX 50#define CGI_ARGC_MAX 128/******************* RESPONSE CLASSES *****************/#define R_INFORMATIONAL 1#define R_SUCCESS 2#define R_REDIRECTION 3#define R_CLIENT_ERROR 4#define R_SERVER_ERROR 5/******************* RESPONSE CODES ******************/#define R_REQUEST_OK 200#define R_CREATED 201#define R_ACCEPTED 202#define R_PROVISIONAL 203 /* provisional information */#define R_NO_CONTENT 204#define R_MULTIPLE 300 /* multiple choices */#define R_MOVED_PERM 301#define R_MOVED_TEMP 302#define R_NOT_MODIFIED 304#define R_BAD_REQUEST 400#define R_UNAUTHORIZED 401#define R_PAYMENT 402 /* payment required */#define R_FORBIDDEN 403#define R_NOT_FOUND 404#define R_METHOD_NA 405 /* method not allowed */#define R_NONE_ACC 406 /* none acceptable */#define R_PROXY 407 /* proxy authentication required */#define R_REQUEST_TO 408 /* request timeout */#define R_CONFLICT 409#define R_GONE 410#define R_ERROR 500 /* internal server error */#define R_NOT_IMP 501 /* not implemented */#define R_BAD_GATEWAY 502#define R_SERVICE_UNAV 503 /* service unavailable */#define R_GATEWAY_TO 504 /* gateway timeout */#define R_BAD_VERSION 505/****************** METHODS *****************/#define M_GET 1#define M_HEAD 2#define M_PUT 3#define M_POST 4#define M_DELETE 5#define M_LINK 6#define M_UNLINK 7/************** REQUEST STATUS (req->status) ***************/#define READ_HEADER 0#define ONE_CR 1#define ONE_LF 2#define TWO_CR 3#define BODY_READ 4#define BODY_WRITE 5#define WRITE 6#define PIPE_READ 7#define PIPE_WRITE 8#define DONE 9#define DEAD 10/************** CGI TYPE (req->is_cgi) ******************/#define CGI 1#define NPH 2/************* ALIAS TYPES (aliasp->type) ***************/#define ALIAS 0#define SCRIPTALIAS 1#define REDIRECT 2/*********** KEEPALIVE CONSTANTS (req->keepalive) *******/#define KA_INACTIVE 0#define KA_STOPPED 1#define KA_ACTIVE 2/********* CGI STATUS CONSTANTS (req->cgi_status) *******/#define CGI_PARSE 1#define CGI_BUFFER 2#define CGI_DONE 3/*********** MMAP_LIST CONSTANTS ************************/#define MMAP_LIST_SIZE 256#define MMAP_LIST_MASK 255#define MMAP_LIST_USE_MAX 128#define MMAP_LIST_NEXT(i) (((i)+1)&MMAP_LIST_MASK)#define MMAP_LIST_HASH(dev,ino,size) ((ino)&MMAP_LIST_MASK)#define MAX_FILE_MMAP 100 * 1024 /* 100K *//***************** USEFUL MACROS ************************/#define SQUASH_KA(req) (req->keepalive=KA_STOPPED)#define BOA_FD_SET(fd, where) { FD_SET(fd, where); \ if (fd > max_fd) max_fd = fd; \ }/* If and when everyone has a modern gcc or other near-C99 compiler, * change these to static inline functions. Also note that since * we never fuss with O_APPEND append or O_ASYNC, we shouldn't have * to perform an extra system call to F_GETFL first. */#ifdef BOA_USE_GETFL#define set_block_fd(fd) real_set_block_fd(fd)#define set_nonblock_fd(fd) real_set_nonblock_fd(fd)#else#define set_block_fd(fd) fcntl(fd, F_SETFL, 0)#define set_nonblock_fd(fd) fcntl(fd, F_SETFL, NOBLOCK)#endif#define DIE(mesg) log_error_mesg(__FILE__, __LINE__, mesg), exit(1)#define WARN(mesg) log_error_mesg(__FILE__, __LINE__, mesg)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -