Annotation of libwww/Library/src/HTInet.html, revision 2.2

2.1       frystyk     1: <HTML>
                      2: <HEAD>
2.2     ! frystyk     3: <!-- Changed by: Henrik Frystyk Nielsen, 20-May-1996 -->
        !             4:   <TITLE>W3C Reference Library libwww Generic Network Communication</TITLE>
2.1       frystyk     5: </HEAD>
                      6: <BODY>
2.2     ! frystyk     7: <H1>
        !             8:   Generic Network Communication
        !             9: </H1>
2.1       frystyk    10: <PRE>
                     11: /*
                     12: **     (c) COPYRIGHT MIT 1995.
                     13: **     Please first read the full copyright statement in the file COPYRIGH.
                     14: */
                     15: </PRE>
2.2     ! frystyk    16: <P>
        !            17: This module has the common code for handling typical Internet functions like
        !            18: getting the name of the local host, getting the domain name and email address
        !            19: of user, parsing error codes returned in <CODE>errno</CODE> or equivalent
        !            20: etc.
        !            21: <P>
2.1       frystyk    22: This module is implemented by <A HREF="HTInet.c">HTInet.c</A>, and it is
2.2     ! frystyk    23: a part of the <A HREF="http://www.w3.org/pub/WWW/Library/">W3C Reference
        !            24: Library</A>.
2.1       frystyk    25: <PRE>
                     26: #ifndef HTINET_H
                     27: #define HTINET_H
                     28: #include "HTReq.h"
                     29: #include "HTNet.h"
                     30: </PRE>
2.2     ! frystyk    31: <H2>
        !            32:   System Description of Error Message
        !            33: </H2>
        !            34: <P>
        !            35: Return error message corresponding to errno number given. We need to pass
        !            36: the error number as a parameter as we on some platforms get different codes
        !            37: from sockets and local file access.
2.1       frystyk    38: <PRE>
                     39: extern const char * HTErrnoString      (int errnum);
                     40: extern int HTInetStatus                        (int errnum, char * where);
                     41: </PRE>
2.2     ! frystyk    42: <H2>
        !            43:   Parse a Cardinal Value
        !            44: </H2>
        !            45: <P>
        !            46: Converts a string to a cardinal value. On entry: *pp points to first character
        !            47: to be interpreted, terminated by non 0..9 character. *pstatus points to status
        !            48: already valid, maxvalue gives the largest allowable value. On exit: *pp points
        !            49: to first unread character, *pstatus points to status updated iff bad
2.1       frystyk    50: <PRE>
                     51: extern unsigned int HTCardinal (int *          pstatus,
                     52:                                char **         pp,
                     53:                                unsigned int    max_value);
                     54: </PRE>
2.2     ! frystyk    55: <H2>
        !            56:   Produce a string for an internet address
        !            57: </H2>
        !            58: <P>
        !            59: This function is equivalent to the BSD system call <B>inet_ntoa</B> in that
        !            60: it converts a numeric 32-bit IP-address to a dotted-notation decimal string.
        !            61: The pointer returned points to static memory which must be copied if it is
        !            62: to be kept.
2.1       frystyk    63: <PRE>
                     64: extern const char * HTInetString (struct sockaddr_in * sin);
                     65: </PRE>
2.2     ! frystyk    66: <H2>
        !            67:   Parse a network node address and port
        !            68: </H2>
        !            69: <P>
        !            70: It is assumed that any portnumber and numeric host address is given in decimal
        !            71: notation. Separation character is '.' Any port number given in host name
        !            72: overrides all other values. 'host' might be modified.
2.1       frystyk    73: <PRE>
                     74: extern int HTParseInet (HTNet * net, char * host);
                     75: </PRE>
2.2     ! frystyk    76: <H2>
        !            77:   Timezone Offset
        !            78: </H2>
        !            79: <P>
        !            80: Calculates the offset from GMT in <I>seconds</I>.
        !            81: <PRE>
        !            82: extern time_t HTGetTimeZoneOffset (void);
        !            83: </PRE>
        !            84: <H2>
        !            85:   FQDN of this Host
        !            86: </H2>
        !            87: <P>
        !            88: This function returns a the name of this host or NULL if not available. The
        !            89: name is stored in a static variable.
        !            90: <PRE>
        !            91: extern char * HTGetHostName (void);
        !            92: </PRE>
        !            93: <H2>
        !            94:   User Email Address
        !            95: </H2>
        !            96: <P>
        !            97: This functions returns a char pointer to a static location containing the
        !            98: mail address of the current user. The static location is different from the
        !            99: one of the current host name so different values can be assigned. The default
        !           100: value is <CODE>&lt;USER&gt;@hostname</CODE> where hostname is as returned
        !           101: by <I>HTGetHostName()</I>.
2.1       frystyk   102: <PRE>
                    103: #ifndef HT_DEFAULT_LOGIN
                    104: #define HT_DEFAULT_LOGIN       "libwww"
                    105: #endif
                    106: 
2.2     ! frystyk   107: extern char * HTGetMailAddress (void);
2.1       frystyk   108: </PRE>
2.2     ! frystyk   109: <H2>
        !           110:   News server
        !           111: </H2>
        !           112: <P>
        !           113: The default news host is "news" but you can get ans set the value here.
        !           114: <PRE>extern char * HTGetNewsServer (void);
        !           115: </PRE>
        !           116: <H2>
        !           117:   Signal Handling
        !           118: </H2>
        !           119: <P>
        !           120: This is only necessary to compile on a few platforms and only if the application
        !           121: does not have its own signal handling. It is required on Solaris 2.3 (and
        !           122: other SVR4 platforms?) due to a bug in the TCP kernel. When a
        !           123: <CODE>connect()</CODE> is tried to a illegal port, solaris gives a SIGPIPE
        !           124: signal instead of returning <EM>Connection refused</EM>.
2.1       frystyk   125: <PRE>
                    126: #ifdef WWWLIB_SIG
                    127: extern void HTSetSignal (void);
                    128: #endif
                    129: 
                    130: #endif   /* HTINET_H */
                    131: </PRE>
2.2     ! frystyk   132: <P>
        !           133:   <HR>
2.1       frystyk   134: <ADDRESS>
2.2     ! frystyk   135:   @(#) $Id: HTInet.html,v 2.1 1996/04/12 17:47:25 frystyk Exp $
2.1       frystyk   136: </ADDRESS>
2.2     ! frystyk   137: </BODY></HTML>

Webmaster