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

📄 sioconf.h

📁 harvest是一个下载html网页得机器人
💻 H
字号:
/* * (c) Copyright 1992, 1993 by Panagiotis Tsirigotis * All rights reserved.  The file named COPYRIGHT specifies the terms  * and conditions for redistribution. *//* * sioconf.h,v 1.1.1.1 1994/04/26 19:08:10 hardy Exp *//* * This file has 2 sections: *		1. a OS-specific section *		2. a CPU/compiler-specific section * * You can override/redefing any of the constants/macros in this file. * by uncommenting the inclusion of customconf.h and placing your own * definitions in that file. *//* #include "customconf.h" *//* * OS-specific section. * * Features here use the flag HAS_<feature>. * List of flags (check the following for macros that can be overriden): * *			HAS_MMAP (overridable macros) * *			HAS_ATEXIT *			HAS_ONEXIT *			HAS_OTHER_FINALIZER	(must define macros) * *			HAS_MEMOPS *			HAS_BCOPY 			(HAS_MEMOPS will be preferred if both are defined) * *	At least one of the following flags must be defined. The 2nd and 3rd * flags are incompatible. *			HAS_ISATTY *			HAS_SYSVTTY *			HAS_BSDTTY *//* * Memory mapping. *		The library requires 3 macros: SIO_MMAP, SIO_MUNMAP, SIO_MNEED. *		You can selectively override any of them. *		Notice that the SIO_MNEED macro is not required. If your system *		does not have madvise, you can define the macro as: *			#define SIO_MNEED( addr, len ) */#ifdef HAS_MMAP#if !defined( SIO_MMAP ) || !defined( SIO_MUNMAP ) || !defined( SIO_MNEED )#include <sys/types.h>#include <sys/mman.h>#endif#ifndef SIO_MMAP#define SIO_MMAP( addr, len, fd, off )                                  \         mmap( addr, len, PROT_READ,                                    \            ( addr == 0 ) ? MAP_PRIVATE : MAP_PRIVATE + MAP_FIXED,      \               fd, off )#endif#ifndef SIO_MUNMAP#define SIO_MUNMAP( addr, len )  munmap( addr, len )#endif#ifndef SIO_MNEED#define SIO_MNEED( addr, len )      (void) madvise( addr, len, MADV_WILLNEED )#endif#endif	/* HAS_MMAP *//* * N_SIO_DESCRIPTORS is the maximum number of file descriptors * supported by the OS */#ifndef N_SIO_DESCRIPTORS#include <sys/param.h>#ifdef NOFILE#define N_SIO_DESCRIPTORS		NOFILE#else#ifdef NOFILES_MIN#define N_SIO_DESCRIPTORS               NOFILES_MIN#endif#endif#endif/* * Finalization function.  * * The purpose of this function is to do work after your program has * called exit(3). In the case of SIO, this means flushing the SIO * output buffers. * * If your system does not support atexit or onexit but has some other * way of installing a finalization function, you define the flag  * HAS_FINALIZER. Then you must define the macros  *			SIO_FINALIZE and SIO_DEFINE_FIN * * SIO_FINALIZE attempts to install a finalization function and returns TRUE  * if successful, FALSE if unsuccessful. * SIO_DEFINE_FIN defines the finalization function (the reason for this macro * s that different systems pass different number/type of arguments to the * finalization function; the SIO finalization function does not use any * arguments). */#if defined(HAS_ONEXIT) || defined(HAS_ATEXIT) || defined(HAS_FINALIZER)#define HAS_FINALIZATION_FUNCTION#if defined( HAS_ONEXIT ) && defined( HAS_ATEXIT )#undef HAS_ONEXIT#endif#ifdef HAS_ONEXIT#define SIO_FINALIZE( func )        ( on_exit( func, (caddr_t) 0 ) == 0 )#define SIO_DEFINE_FIN( func )      static void func ( exit_status, arg )  \                                          int exit_status ;                \                                          caddr_t arg ;#endif	/* HAS_ONEXIT */#ifdef HAS_ATEXIT#define SIO_FINALIZE( func )        ( atexit( func ) == 0 )#define SIO_DEFINE_FIN( func )      static void func ()#endif	/* HAS_ATEXIT */#endif	/* HAS_ONEXIT || HAS_ATEXIT || HAS_FINALIZER *//* * HAS_MEMOPS should be defined if your OS supports the mem* functions * (memcpy etc). If not, then you can define HAS_BCOPY if your OS supports  * bcopy. */#if defined( HAS_MEMOPS ) && defined( HAS_BCOPY )#undef HAS_BCOPY#endif/* * Support for the isatty(3) function. This function identifies if a  * desciptor refers to a terminal. * * Case 1: isatty(3) is in the C library *		--> define HAS_ISATTY *	Case 2: no isatty(3), BSD 4.3 tty handling *		--> define HAS_BSDTTY * Case 3: no isatty(3), System V tty handling *		--> define HAS_SYSVTTY * * The following code checks: *		1) that at least one of the flags is defined *		2) only one of the BSD, SYS V flags is defined */#if !defined(HAS_ISATTY) && !defined(HAS_BSDTTY) && !defined(HAS_SYSVTTY)ERROR function_isatty_not_available ;#endif#ifdef HAS_ISATTY#undef HAS_BSDTTY#undef HAS_SYSVTTY#endif#if defined(HAS_BSDTTY) && defined(HAS_SYSVTTY)ERROR HAS_BSDTTY_and_HAS_SYSVTTY_both_defined ;#endif/* * CPU/compiler-specific section. * * The following constant affects the behavior of Sprint. * * Sprint performs integer->string conversions by first converting * the integer to the widest int type supported by the CPU/compiler. * By default, this is the "long int" type. If your machine has * a wider type, you can specify it by defining the WIDE_INT constant. * For example: *		#define WIDE_INT					long long */

⌨️ 快捷键说明

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