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

📄 events.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. *//* * events.h,v 1.1.1.1 1994/04/26 19:08:09 hardy Exp *//* * Event codes *  * We use a 2 letter code so that events that accumulate in a buffer * can be displayed as a string * We follow the convention that the first event letter is a capitalized * and the second letter is in lower case. This allows one to easily * recognize events in an event string. *//* * The ENCODE macro takes 2 characters and creates a short integer * The size of the short integer is assumed to be 16-bits. * The macro makes sure that regardless of the endianess of the machine, * the low order byte contains the 1st character and the high order byte * contains the 2nd character. */#ifdef LITTLE_ENDIAN#define ENCODE( c1, c2 )					( (c1) + ( (c2) << 8 ) )#else		/* BIG_ENDIAN */#define ENCODE( c1, c2 )					( (c2) + ( (c1) << 8 ) )#endif/* * Event codes for SIO interface functions * We use the first 2 lettes after the initial 'S' */#define EV_SGETC						ENCODE( 'G', 'e' )#define EV_SPUTC						ENCODE( 'P', 'u' )#define EV_SREAD						ENCODE( 'R', 'e' )#define EV_SWRITE						ENCODE( 'W', 'r' ) #define EV_SRDLINE					ENCODE( 'R', 'd' )#define EV_SFETCH						ENCODE( 'F', 'e' )#define EV_SUNDO						ENCODE( 'U', 'n' )#define EV_SDONE						ENCODE( 'D', 'o' )#define EV_SFLUSH						ENCODE( 'F', 'l' )#define EV_SCLOSE						ENCODE( 'C', 'l' )#define EV_STIE						ENCODE( 'T', 'i' )#define EV_SUNTIE						ENCODE( 'U', 't' )#define EV_SBUFTYPE					ENCODE( 'B', 'u' )/* * Event codes for internal functions * For the __sio_<name> functions we use 'S' and the first letter of <name> * For the rest we use the first letter from the first two components of * their name, for example for try_memory_mapping we use Tm. */#define EV_SIO_INIT					ENCODE( 'S', 'i' )#define EV_SIO_SWITCH				ENCODE( 'S', 's' )#define EV_SIO_READF					ENCODE( 'S', 'r' )#define EV_SIO_WRITEF				ENCODE( 'S', 'w' )#define EV_SIO_EXTEND_BUFFER		ENCODE( 'S', 'e' )#define EV_SIO_MORE					ENCODE( 'S', 'm' )#define EV_TRY_MEMORY_MAPPING		ENCODE( 'T', 'm' )#define EV_INITIAL_MAP				ENCODE( 'I', 'm' )#define EV_MAP_UNIT					ENCODE( 'M', 'u' )#define EV_INIT_INPUT_STREAM		ENCODE( 'I', 'i' )#define EV_INIT_OUTPUT_STREAM		ENCODE( 'I', 'o' )/* * The # of entries must be a power of 2 */#define EVENT_ENTRIES		512struct events{	short next ;	short start ;	short *codes ;			/* malloc'ed memory */} ;typedef struct events events_s ;extern events_s *__sio_events ;#define ADD( index, x )				(index) += x ;								\											(index) &= ( EVENT_ENTRIES - 1 )#define EVENT( fd, code )															\					{																		\						events_s *evp = &__sio_events[ fd ] ;					\																							\						if ( evp->codes != NULL )									\						{																	\							evp->codes[ evp->next ] = code ;						\							ADD( evp->next, 1 ) ;									\							if ( evp->next == evp->start )						\							{ ADD( evp->start, 1 ) ; }								\						}																	\					}

⌨️ 快捷键说明

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