httpparser.h

来自「开发upnp 时的底层库,可以运行,主要是实现了upnp的底层协议 !」· C头文件 代码 · 共 497 行 · 第 1/2 页

H
497
字号
*	Return : void ;**	Note :************************************************************************/void httpmsg_destroy( INOUT http_message_t* msg );/*************************************************************************	Function :	httpmsg_find_hdr_str**	Parameters :*		IN http_message_t* msg ;	HTTP Message Object*		IN const char* header_name ; Header name to be compared with	**	Description :	Compares the header name with the header names stored *		in	the linked list of messages**	Return : http_header_t* - Pointer to a header on success;*			 NULL on failure														**	Note :************************************************************************/http_header_t* httpmsg_find_hdr_str( IN http_message_t* msg,			IN const char* header_name );/*************************************************************************	Function :	httpmsg_find_hdr**	Parameters :*		IN http_message_t* msg ; HTTP Message Object*		IN int header_name_id ;	 Header Name ID to be compared with*		OUT memptr* value ;		 Buffer to get the ouput to.**	Description :	Finds header from a list, with the given 'name_id'.**	Return : http_header_t*  - Pointer to a header on success;										**			 NULL on failure														**	Note :************************************************************************/http_header_t* httpmsg_find_hdr( IN http_message_t* msg, 			IN int header_name_id, OUT memptr* value );/************************************************************************* Function: parser_request_init											*																		* Parameters:															*	OUT http_parser_t* parser ; HTTP Parser object									*																* Description: Initializes parser object for a request					*																		* Returns:																*	 void																************************************************************************/void parser_request_init( OUT http_parser_t* parser );/************************************************************************* Function: parser_response_init										*																		* Parameters:															*	OUT http_parser_t* parser	;	  HTTP Parser object*	IN http_method_t request_method	; Request method 					*																		* Description: Initializes parser object for a response					*																		* Returns:																*	 void																************************************************************************/void parser_response_init( OUT http_parser_t* parser, 			   IN http_method_t request_method );/************************************************************************* Function: parser_parse												*																		* Parameters:															*	INOUT http_parser_t* parser ; HTTP Parser object					*																		* Description: The parser function. Depending on the position of the 	*	parser object the actual parsing function is invoked				*																		* Returns:																*	 void																************************************************************************/parse_status_t parser_parse(INOUT http_parser_t * parser);/************************************************************************* Function: parser_parse_responseline									*																		* Parameters:															*	INOUT http_parser_t* parser	; HTTP Parser object					*																		* Description: Get HTTP Method, URL location and version information.	*																		* Returns:																*	PARSE_OK															*	PARSE_SUCCESS														*	PARSE_FAILURE														************************************************************************/parse_status_t parser_parse_responseline(INOUT http_parser_t *parser);/************************************************************************* Function: parser_parse_headers									*																		* Parameters:															*	INOUT http_parser_t* parser	; HTTP Parser object										*													* Description: Get HTTP Method, URL location and version information.	*																		* Returns:																*	PARSE_OK															*	PARSE_SUCCESS														*	PARSE_FAILURE														************************************************************************/parse_status_t parser_parse_headers(INOUT http_parser_t *parser);/************************************************************************* Function: parser_parse_entity											*																		* Parameters:															*	INOUT http_parser_t* parser	; HTTP Parser object					*																		* Description: Determines method to read entity							*																		* Returns:																*	 PARSE_OK															* 	 PARSE_FAILURE														*	 PARSE_COMPLETE	-- no more reading to do							************************************************************************/parse_status_t parser_parse_entity(INOUT http_parser_t *parser);/************************************************************************* Function: parser_get_entity_read_method								*																		* Parameters:															*	INOUT http_parser_t* parser	; HTTP Parser object					*																		* Description: Determines method to read entity							*																		* Returns:																*	 PARSE_OK															* 	 PARSE_FAILURE														*	 PARSE_COMPLETE	-- no more reading to do							************************************************************************/parse_status_t parser_get_entity_read_method( INOUT http_parser_t* parser );/************************************************************************* Function: parser_append												*																		* Parameters:															*	INOUT http_parser_t* parser ;	HTTP Parser Object					*	IN const char* buf	;			buffer to be appended to the parser *									buffer							*	IN size_t buf_length ;			Size of the buffer												*																		* Description: The parser function. Depending on the position of the 	*	parser object the actual parsing function is invoked				*																		* Returns:																*	 void																************************************************************************/parse_status_t parser_append( INOUT http_parser_t* parser, 				 IN const char* buf,				 IN size_t buf_length );/************************************************************************* Function: matchstr													*																		* Parameters:															*	IN char *str ;		 String to be matched														*	IN size_t slen ;     Length of the string														*	IN const char* fmt ; Pattern format												*	...																	*																		* Description: Matches a variable parameter list with a string			*	and takes actions based on the data type specified.					*																		* Returns:																*   PARSE_OK															*   PARSE_NO_MATCH -- failure to match pattern 'fmt'					*   PARSE_FAILURE	-- 'str' is bad input							************************************************************************/int matchstr( IN char *str, IN size_t slen, IN const char* fmt, ... );// ====================================================// misc functions/************************************************************************* Function: raw_to_int													*																		* Parameters:															*	IN memptr* raw_value ;	Buffer to be converted 					*	IN int base ;			Base  to use for conversion*																		* Description: Converts raw character data to long-integer value					*																		* Returns:																*	 int																************************************************************************/int raw_to_int( IN memptr* raw_value, int base );/************************************************************************* Function: raw_find_str												*																		* Parameters:															*	IN memptr* raw_value ; Buffer containg the string												*	IN const char* str ;	Substring to be found													*																		* Description: Find a substring from raw character string buffer					*																		* Returns:																*	 int - index at which the substring is found.						************************************************************************/int raw_find_str( IN memptr* raw_value, IN const char* str );/************************************************************************* Function: method_to_str												*																		* Parameters:															* IN http_method_t method ; HTTP method						*																		* Description: A wrapper function that maps a method id to a method		*	nameConverts a http_method id stored in the HTTP Method				*																		* Returns:																*	 const char* ptr - Ptr to the HTTP Method																							*************************************************************************/const char* method_to_str( IN http_method_t method );/************************************************************************* Function: print_http_headers											*																		* Parameters:															*	http_message_t* hmsg ; HTTP Message object									*																		* Description:															*																		* Returns:																*	 void																************************************************************************/void print_http_headers( IN http_message_t* hmsg );#ifdef __cplusplus}		// extern "C"#endif	// __cplusplus#endif // GENLIB_NET_HTTP_HTTPPARSER_H

⌨️ 快捷键说明

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