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

📄 htvms_waisui.h

📁 用于linux和其他unix下面的
💻 H
📖 第 1 页 / 共 2 页
字号:
char* writeBinaryInteger PARAMS((long num,unsigned long size,			      char* buf,long* len));char* readBinaryInteger PARAMS((long* num,unsigned long size,char* buf));unsigned long writtenCompressedBinIntSize PARAMS((long num));char* writeNum PARAMS((long num,data_tag tag,char* buffer,long* len));char* readNum PARAMS((long* num,char* buffer));unsigned long  writtenNumSize PARAMS((data_tag tag,long num));void doList PARAMS((void** list,void (*func)(void *)));char* writeProtocolVersion PARAMS((char* buf,long* len));char* defaultImplementationID PARAMS((void));char* defaultImplementationName PARAMS((void));char* defaultImplementationVersion PARAMS((void));/*----------------------------------------------------------------------*//***	Routines originally from ZType1.c -- FM****----------------------------------------------------------------------*//* This file implements the type 1 query defined in appendices B & C   of the SR 1 spec. *//*----------------------------------------------------------------------*//* types and constants *//* new data tags */#define	DT_AttributeList	(data_tag)44#define DT_Term			(data_tag)45#define DT_Operator		(data_tag)46#define QT_BooleanQuery	"1"		/* standard boolean query *//* general attribute code - use in place of any attribute */#define IGNORE	"ig"/* use value codes */#define	UV_ISBN	"ub"#define	CORPORATE_NAME	"uc"#define	ISSN	"us"#define	PERSONAL_NAME	"up"#define	SUBJECT	"uj"#define	TITLE	"ut"#define	GEOGRAPHIC_NAME	"ug"#define	CODEN	"ud"#define	SUBJECT_SUBDIVISION	"ue"#define	SERIES_TITLE	"uf"#define	MICROFORM_GENERATION	"uh"#define	PLACE_OF_PUBLICATION	"ui"#define	NUC_CODE	"uk"#define	LANGUAGE	"ul"#define	COMBINATION_OF_USE_VALUES	"um"#define	SYSTEM_CONTROL_NUMBER	"un"#define	DATE	"uo"#define	LC_CONTROL_NUMBER	"ur"#define	MUSIC_PUBLISHERS_NUMBER	"uu"#define	GOVERNMENT_DOCUMENTS_NUMBER	"uv"#define	SUBJECT_CLASSIFICATION	"uw"#define	RECORD_TYPE	"uy"/* relation value codes */#define	EQUAL	"re"#define	GREATER_THAN	"rg"#define	GREATER_THAN_OR_EQUAL	"ro"#define	LESS_THAN	"rl"#define	LESS_THAN_OR_EQUAL	"rp"#define	NOT_EQUAL	"rn"/* position value codes */#define	FIRST_IN_FIELD	"pf"#define	FIRST_IN_SUBFIELD	"ps"#define	FIRST_IN_A_SUBFIELD	"pa"#define	FIRST_IN_NOT_A_SUBFIELD	"pt"#define	ANY_POSITION_IN_FIELD	"py"/* structure value codes */#define	PHRASE	"sp"#define	WORD	"sw"#define	KEY	"sk"#define	WORD_LIST	"sl"/* truncation value codes */#define	NO_TRUNCATION	"tn"#define	RIGHT_TRUNCATION	"tr"#define	PROC_NUM_INCLUDED_IN_SEARCH_ARG	"ti"/* completeness value codes */#define	INCOMPLETE_SUBFIELD	"ci"#define	COMPLETE_SUBFIELD	"cs"#define	COMPLETEFIELD	"cf"/* operator codes */#define AND	"a"#define OR	"o"#define AND_NOT	"n"/* term types */#define TT_Attribute		1#define	TT_ResultSetID		2#define	TT_Operator			3#define ATTRIBUTE_SIZE		3#define OPERATOR_SIZE		2typedef struct query_term {  /* type */  long	TermType;  /* for term */  char	Use[ATTRIBUTE_SIZE];  char	Relation[ATTRIBUTE_SIZE];  char	Position[ATTRIBUTE_SIZE];  char	Structure[ATTRIBUTE_SIZE];  char	Truncation[ATTRIBUTE_SIZE];  char	Completeness[ATTRIBUTE_SIZE];  any*	Term;  /* for result set */  any*	ResultSetID;  /* for operator */  char	Operator[OPERATOR_SIZE];} query_term;/*----------------------------------------------------------------------*//* functions */query_term* makeAttributeTerm PARAMS((        char* use,char* relation,char* position,char* structure,	char* truncation,char* completeness,any* term));query_term* makeResultSetTerm PARAMS((any* resultSet));query_term* makeOperatorTerm PARAMS((char* operatorCode));void freeTerm PARAMS((void* qt));char* writeQueryTerm PARAMS((query_term* qt,char* buffer,long* len));char* readQueryTerm PARAMS((query_term** qt,char* buffer));any* writeQuery PARAMS((query_term** terms));query_term** readQuery PARAMS((any* info));/*----------------------------------------------------------------------*//***	Routines originally from UI.c -- FM****----------------------------------------------------------------------*/char *generate_retrieval_apdu PARAMS((char *buff, 			     long *buff_len, 			     any *docID,			     long chunk_type,			     long start_line, long end_line,			     char *type,			     char *database_name));longinterpret_message PARAMS((char *request_message,		       long request_length,		       char *response_message,		       long response_buffer_length, /* length of the buffer (modified)*/		       long connection,		       boolean verbose));char *trim_junk PARAMS((char *headline));/***	Routines originally from ZProt.c -- FM****----------------------------------------------------------------------*//* APDU types */typedef struct InitAPDU {	pdu_type		PDUType;	boolean			willSearch,willPresent,willDelete;	boolean			supportAccessControl,supportResourceControl;	long			PreferredMessageSize;	long			MaximumRecordSize;	char*			IDAuthentication;	char*			ImplementationID;	char* 			ImplementationName;	char*			ImplementationVersion;	any*			ReferenceID;	void*			UserInformationField;	} InitAPDU;typedef struct InitResponseAPDU {	pdu_type		PDUType;	boolean			Result;	boolean			willSearch,willPresent,willDelete;	boolean			supportAccessControl,supportResourceControl;	long			PreferredMessageSize;	long 			MaximumRecordSize;	char*			IDAuthentication;	char*			ImplementationID;	char* 			ImplementationName;	char*			ImplementationVersion;	any*			ReferenceID;	void*			UserInformationField;	} InitResponseAPDU;typedef struct SearchAPDU {	pdu_type		PDUType;	long	 		SmallSetUpperBound;	long			LargeSetLowerBound;	long	 		MediumSetPresentNumber;	boolean 		ReplaceIndicator;	char*			ResultSetName;	char**			DatabaseNames;   	char*			QueryType;	char**			ElementSetNames;  	any*			ReferenceID;	void*			Query;	} SearchAPDU;typedef struct SearchResponseAPDU {	pdu_type		PDUType;	long			SearchStatus;	long			ResultCount;	long			NumberOfRecordsReturned;	long		 	NextResultSetPosition;	long			ResultSetStatus;	long 			PresentStatus;	any*			ReferenceID;	void*			DatabaseDiagnosticRecords;	} SearchResponseAPDU;typedef struct PresentAPDU {	pdu_type		PDUType;	long			NumberOfRecordsRequested;	long			ResultSetStartPosition;	char*		 	ResultSetID;	char*			ElementSetNames;	any*			ReferenceID;	void*			PresentInfo;	} PresentAPDU;typedef struct PresentResponseAPDU {	pdu_type		PDUType;	boolean			PresentStatus;	long			NumberOfRecordsReturned;	long			NextResultSetPosition;	any*			ReferenceID;	void*			DatabaseDiagnosticRecords;	} PresentResponseAPDU;/*----------------------------------------------------------------------*//* Functions */InitAPDU* makeInitAPDU PARAMS((boolean search,boolean present,boolean deleteIt,			    boolean accessControl,boolean resourceControl,			    long prefMsgSize,long maxMsgSize,			    char* auth,char* id,char* name, char* version,			    any* refID,void* userInfo));void freeInitAPDU PARAMS((InitAPDU* init));char* writeInitAPDU PARAMS((InitAPDU* init,char* buffer,long* len));char* readInitAPDU PARAMS((InitAPDU** init,char* buffer));InitResponseAPDU* makeInitResponseAPDU PARAMS((boolean result,					    boolean search,boolean present,boolean deleteIt,					    boolean accessControl,boolean resourceControl,					    long prefMsgSize,long maxMsgSize,					    char* auth,char* id,char* name, char* version,					    any* refID,void* userInfo));void freeInitResponseAPDU PARAMS((InitResponseAPDU* init));char* writeInitResponseAPDU PARAMS((InitResponseAPDU* init,char* buffer,long* len));char* readInitResponseAPDU PARAMS((InitResponseAPDU** init,char* buffer));InitResponseAPDU* replyToInitAPDU PARAMS((InitAPDU* init,boolean result,void* userInfo));SearchAPDU* makeSearchAPDU PARAMS((long small,long large, long medium,				boolean replace,char* name,char** databases,				char* type,char** elements,any* refID,void* queryInfo));void freeSearchAPDU PARAMS((SearchAPDU* query));char* writeSearchAPDU PARAMS((SearchAPDU* query,char* buffer,long* len));char* readSearchAPDU PARAMS((SearchAPDU** query,char* buffer));SearchResponseAPDU* makeSearchResponseAPDU PARAMS((long result,long count,						long recordsReturned,long nextPos,						long resultStatus,long presentStatus,						any* refID,void* records));void freeSearchResponseAPDU PARAMS((SearchResponseAPDU* queryResponse));char* writeSearchResponseAPDU PARAMS((SearchResponseAPDU* queryResponse,char* buffer,long* len));char* readSearchResponseAPDU PARAMS((SearchResponseAPDU** queryResponse,char* buffer));PresentAPDU* makePresentAPDU PARAMS((long recsReq, long startPos,				  char* resultID,any* refID,void* info));void freePresentAPDU PARAMS((PresentAPDU* present));char* writePresentAPDU PARAMS((PresentAPDU* present,char* buffer,long* len));char* readPresentAPDU PARAMS((PresentAPDU** present,char* buffer));PresentResponseAPDU* makePresentResponseAPDU PARAMS((boolean status,long recsRet,						  long nextPos,any* refID,						  void* records));void freePresentResponseAPDU PARAMS((PresentResponseAPDU* present));char* writePresentResponseAPDU PARAMS((PresentResponseAPDU* present,char* buffer,long* len));char* readPresentResponseAPDU PARAMS((PresentResponseAPDU** present,char* buffer));/*----------------------------------------------------------------------*//* user extension hooks: */extern char* writeInitInfo PARAMS((InitAPDU* init,char* buffer,long* len));extern char* readInitInfo PARAMS((void** info,char* buffer));extern char* writeInitResponseInfo PARAMS((InitResponseAPDU* init,char* buffer,long* len));extern char* readInitResponseInfo PARAMS((void** info,char* buffer));extern char* writeSearchInfo PARAMS((SearchAPDU* query,char* buffer,long* len));extern char* readSearchInfo PARAMS((void** info,char* buffer));extern char* writeSearchResponseInfo PARAMS((SearchResponseAPDU* query,char* buffer,long* len));extern char* readSearchResponseInfo PARAMS((void** info,char* buffer));extern char* writePresentInfo PARAMS((PresentAPDU* present,char* buffer,long* len));extern char* readPresentInfo PARAMS((void** info,char* buffer));extern char* writePresentResponseInfo PARAMS((PresentResponseAPDU* present,char* buffer,long* len));extern char* readPresentResponseInfo PARAMS((void** info,char* buffer));#endif /* HTVMSWAIS_H */

⌨️ 快捷键说明

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