--- libaitwww/inc/aitwww.h 2012/08/06 12:02:05 1.4.2.3 +++ libaitwww/inc/aitwww.h 2012/09/04 12:29:07 1.4.2.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitwww.h,v 1.4.2.3 2012/08/06 12:02:05 misho Exp $ +* $Id: aitwww.h,v 1.4.2.4 2012/09/04 12:29:07 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -61,17 +61,17 @@ typedef struct _tagURLItem { } url_Item_t; struct tagIOURL { - unsigned char url_line[BUFSIZ]; + ait_val_t url_line; - url_Item_t url_tech; - url_Item_t url_user; - url_Item_t url_pass; - url_Item_t url_host; - url_Item_t url_port; - url_Item_t url_path; - url_Item_t url_args; + ait_val_t url_tech; + ait_val_t url_user; + ait_val_t url_pass; + ait_val_t url_host; + ait_val_t url_port; + ait_val_t url_path; + ait_val_t url_args; - char *url_reserved; + unsigned char *url_reserved; }; struct tagReqXML { @@ -259,6 +259,20 @@ ait_val_t *www_undot(const char * __restrict pname); /* + * www_URLInit() - Init URL structure and free old one + * + * @url = Input URL + * return: -1 error or 0 ok + */ +inline int www_URLInit(struct tagIOURL * __restrict url); +/* + * www_URLFree() - URL free structure + * + * @url = Input parsed URL + * return: none + */ +inline void www_URLFree(struct tagIOURL * __restrict url); +/* * www_URLGet() - Parse and get data from input URL * * @csURL = Input URL line @@ -266,16 +280,15 @@ ait_val_t *www_undot(const char * __restrict pname); * return: 0 error format not find tech:// and return URL like path; * -1 error:: can`t read; >0 ok, up bits for known elements */ -int www_URLGet(const char *csURL, struct tagIOURL *url); +int www_URLGet(const char *csURL, struct tagIOURL * __restrict url); /* * www_URLGetFile() - Get file from parsed URL * * @url = Input parsed URL - * @psValue = Return filename, if not specified file in url path, replace with / - * @valLen = Size of psValue array - * return: -1 error:: can`t read; 0 ok + * @value = Return filename, if not specified file in url path, replace with / + * return: -1 error, 0 filename from path, 1 filename or 2 not specified filename */ -int www_URLGetFile(struct tagIOURL *url, char * __restrict psValue, int valLen); +int www_URLGetFile(struct tagIOURL * __restrict url, ait_val_t * __restrict value); /* * www_XMLGet() - Parse and get data from input XML request string