Annotation of 43BSDTahoe/new/nntp/server/access_dnet.c, revision 1.1

1.1     ! root        1: #include <syslog.h>
        !             2: #include <sys/types.h>
        !             3: #include <sys/socket.h>
        !             4: 
        !             5: #include "../common/conf.h"
        !             6: 
        !             7: #ifdef DECNET
        !             8: 
        !             9: #ifndef lint
        !            10: static char    *sccsid = "@(#)access_dnet.c    1.4     (Berkeley) 10/22/87";
        !            11: #endif
        !            12: 
        !            13: 
        !            14: /*
        !            15:  * dnet_netnames -- return the network, subnet, and host names of
        !            16:  * our peer process for the DECnet domain.  Since DECnet doesn't
        !            17:  * have subnets, we always return "subnet_name"'s first char as '\0';
        !            18:  *
        !            19:  *     Parameters:     "sock" is the socket connect to our peer.
        !            20:  *                     "sap" is a pointer to the result of
        !            21:  *                     a getpeername() call.
        !            22:  *                     "net_name", "subnet_name", and "host_name"
        !            23:  *                     are filled in by this routine with the
        !            24:  *                     corresponding ASCII names of our peer.
        !            25:  *     Returns:        Nothing.
        !            26:  *     Side effects:   None.
        !            27:  */
        !            28: 
        !            29: dnet_netnames(sock, sap, net_name, subnet_name, host_name)
        !            30:        int             sock;
        !            31:        struct sockaddr *sap;
        !            32:        char            *net_name;
        !            33:        char            *subnet_name;
        !            34:        char            *host_name;
        !            35: {
        !            36:        char            *cp;
        !            37:        struct linger   l;
        !            38:        char            *getenv();
        !            39: 
        !            40:        cp = getenv("NETWORK");
        !            41:        (void) strcpy(net_name, cp ? cp : "DECnet");
        !            42: 
        !            43:        cp = getenv("REMNODE");
        !            44:        (void) strcpy(host_name, cp ? cp : "unknown");
        !            45: 
        !            46:        *subnet_name = '\0';
        !            47: 
        !            48:        /*
        !            49:         * Give decnet a chance to flush its buffers before the
        !            50:         * link is killed.
        !            51:         */
        !            52: 
        !            53:        l.l_onoff = 1;          /* on */
        !            54:        l.l_linger = 15;        /* seconds */
        !            55: 
        !            56:        if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (char *) &l,
        !            57:                sizeof (l)) < 0) {
        !            58: #ifdef LOG
        !            59:                syslog(LOG_ERR,
        !            60:                        "access_dnet: setsockopt SOL_SOCKET SO_LINGER: %m");
        !            61: #endif
        !            62:        }
        !            63: }
        !            64: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.