Annotation of libwww/Library/src/HTWWWStr.html, revision 2.4

2.1       frystyk     1: <HTML>
                      2: <HEAD>
2.3       frystyk     3: <TITLE>W3C Reference Library libwww WWW STRINGS</TITLE>
2.4     ! frystyk     4: <!-- Changed by: Henrik Frystyk Nielsen, 23-Mar-1996 -->
2.1       frystyk     5: </HEAD>
                      6: <BODY>
                      7: 
                      8: <H1>WWW Related String Management</H1>
                      9: 
                     10: <PRE>
                     11: /*
                     12: **     (c) COPYRIGHT MIT 1995.
                     13: **     Please first read the full copyright statement in the file COPYRIGH.
                     14: */
                     15: </PRE>
                     16: 
                     17: This module is like the <A HREF="HTString.html">generic string utility
                     18: module</A> but it contains more Web related string utility functions.
                     19: 
                     20: This module is implemented by <A HREF="HTWWWStr.c">HTWWWStr.c</A>, and
                     21: it is a part of the <A HREF="http://www.w3.org/pub/WWW/Library/"> W3C
                     22: Reference Library</A>. <P>
                     23: 
                     24: <PRE>
                     25: #ifndef HTWWWSTR_H
                     26: #define HTWWWSTR_H
                     27: </PRE>
                     28: 
                     29: <H2>Next word or quoted string</H2>
                     30: 
                     31: This function returns a RFC822 word separated by space, comma, or
                     32: semi-colons. <CODE>pstr</CODE> points to a string containing a word
                     33: separated by white white space "," ";" or "=". The word can optionally
                     34: be quoted using <"> or "<" ">" Comments surrrounded by '(' ')' are
                     35: filtered out. On exit, <CODE>pstr</CODE> has been moved to the first
                     36: delimiter past the field THE STRING HAS BEEN MUTILATED by a 0
                     37: terminator.  The function returns a pointer to the first word or NULL
                     38: on error
                     39: 
                     40: <PRE>
                     41: extern char * HTNextField (char** pstr);
                     42: </PRE>
                     43: 
                     44: <H2>RFC1123 Date/Time Stamp String</H2>
                     45: 
                     46: Returns a pointer to a static area!
                     47: 
                     48: <PRE>
2.2       frystyk    49: extern const char *HTDateTimeStr (time_t *calendar, BOOL local);
2.1       frystyk    50: </PRE>
                     51: 
                     52: <H2>Date used for directory listings</H2>
                     53: 
                     54: <PRE>
                     55: extern BOOL HTDateDirStr (time_t * time, char * str, int len);
                     56: </PRE>
                     57: 
                     58: <H2>Timezone Offset</H2>
                     59: 
                     60: Calculates the offset from GMT in seconds. This is called from <A
                     61: HREF="HTReq.html#Library">HTLibInit()</A>.
                     62: 
                     63: <PRE>
                     64: extern long HTGetTimeZoneOffset (void);
                     65: </PRE>
                     66: 
                     67: <H2>Parse a Date/Time String</H2>
                     68: 
                     69: Converts a string representation in GMT to a local representation of
                     70: localtime <CODE>time_t</CODE>.
                     71: 
                     72: <PRE>
2.2       frystyk    73: extern time_t HTParseTime (const char * str);
2.1       frystyk    74: </PRE>
                     75: 
                     76: 
                     77: <H2>Unique Message-ID String</H2>
                     78: 
                     79: <PRE>
2.2       frystyk    80: extern const char *HTMessageIdStr (void);
2.1       frystyk    81: </PRE>
                     82: 
                     83: <H2>Converts an Integer to a String using Prefix</H2>
                     84: 
                     85: In computer-world 1K is 1024 bytes and 1M is 1024K -- however,
                     86: sprintf() still formats in base-10.  Therefore I output only until
                     87: 999, and then start using the next unit.  This doesn't work wrong,
                     88: it's just a feature.  The conversion is done in "str" which must be
                     89: large enough to contain the result.
                     90: 
                     91: <PRE>
                     92: extern void HTNumToStr (unsigned long n, char *str, int len);
                     93: </PRE>
                     94: 
                     95: <H2>Conversion between URLs and Local File Names</H2>
                     96: 
                     97: These are two functions that separate the URL naming syntax from
                     98: platform dependent file naming schemes. If you are porting the code to
                     99: a new platform, you probably have to do some translation here.
                    100: 
                    101: <H3>Convert file URLs into a local representation</H3>
                    102: 
                    103: The URL has already been translated through the rules in get_physical
                    104: in HTAccess.c and all we need to do now is to map the path to a local
                    105: representation, for example if must translate '/' to the ones that
                    106: turn the wrong way ;-) Returns local file (that must be freed by
                    107: caller) if OK, else NULL.
                    108: 
                    109: <PRE>
2.2       frystyk   110: extern char * HTWWWToLocal (const char * url, const char * base);
2.1       frystyk   111: </PRE>
                    112: 
                    113: <H3>Convert a local file name into a URL</H3>
                    114: 
                    115: Generates a WWW URL name from a local file name or NULL if error.
                    116: Returns URL (that must be freed by caller) if OK, else NULL.
                    117: 
                    118: <PRE>
2.2       frystyk   119: extern char * HTLocalToWWW (const char * local);
2.1       frystyk   120: </PRE>
                    121: 
                    122: <PRE>
                    123: #endif
                    124: </PRE>
                    125: 
2.4     ! frystyk   126: <HR>
        !           127: <ADDRESS>
        !           128: @(#) $Id: Date Author State $
        !           129: </ADDRESS>
2.1       frystyk   130: </BODY>
                    131: </HTML>

Webmaster