Annotation of 43BSDReno/sbin/routed/defs.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1983, 1988 Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution and use in source and binary forms are permitted
                      6:  * provided that: (1) source distributions retain this entire copyright
                      7:  * notice and comment, and (2) distributions including binaries display
                      8:  * the following acknowledgement:  ``This product includes software
                      9:  * developed by the University of California, Berkeley and its contributors''
                     10:  * in the documentation or other materials provided with the distribution
                     11:  * and in all advertising materials mentioning features or use of this
                     12:  * software. Neither the name of the University nor the names of its
                     13:  * contributors may be used to endorse or promote products derived
                     14:  * from this software without specific prior written permission.
                     15:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     16:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     17:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     18:  *
                     19:  *     @(#)defs.h      5.9 (Berkeley) 6/1/90
                     20:  */
                     21: 
                     22: /*
                     23:  * Internal data structure definitions for
                     24:  * user routing process.  Based on Xerox NS
                     25:  * protocol specs with mods relevant to more
                     26:  * general addressing scheme.
                     27:  */
                     28: #include <sys/param.h>
                     29: #include <sys/socket.h>
                     30: #include <sys/time.h>
                     31: 
                     32: #include <net/route.h>
                     33: #include <netinet/in.h>
                     34: #include <protocols/routed.h>
                     35: 
                     36: #include <stdio.h>
                     37: #include <netdb.h>
                     38: 
                     39: #include "trace.h"
                     40: #include "interface.h"
                     41: #include "table.h"
                     42: #include "af.h"
                     43: 
                     44: /*
                     45:  * When we find any interfaces marked down we rescan the
                     46:  * kernel every CHECK_INTERVAL seconds to see if they've
                     47:  * come up.
                     48:  */
                     49: #define        CHECK_INTERVAL  (1*60)
                     50: 
                     51: #define equal(a1, a2) \
                     52:        (bcmp((caddr_t)(a1), (caddr_t)(a2), sizeof (struct sockaddr)) == 0)
                     53: 
                     54: struct sockaddr_in addr;       /* address of daemon's socket */
                     55: 
                     56: int    s;                      /* source and sink of all data */
                     57: int    kmem;
                     58: int    supplier;               /* process should supply updates */
                     59: int    install;                /* if 1 call kernel */
                     60: int    lookforinterfaces;      /* if 1 probe kernel for new up interfaces */
                     61: int    performnlist;           /* if 1 check if /vmunix has changed */
                     62: int    externalinterfaces;     /* # of remote and local interfaces */
                     63: struct timeval now;            /* current idea of time */
                     64: struct timeval lastbcast;      /* last time all/changes broadcast */
                     65: struct timeval lastfullupdate; /* last time full table broadcast */
                     66: struct timeval nextbcast;      /* time to wait before changes broadcast */
                     67: int    needupdate;             /* true if we need update at nextbcast */
                     68: 
                     69: char   packet[MAXPACKETSIZE+1];
                     70: struct rip *msg;
                     71: 
                     72: char   **argv0;
                     73: struct servent *sp;
                     74: 
                     75: extern int errno;
                     76: 
                     77: struct in_addr inet_makeaddr();
                     78: int    inet_addr();
                     79: char   *malloc();
                     80: char   *ctime();
                     81: int    exit();
                     82: int    sendmsg();
                     83: int    supply();
                     84: int    timer();
                     85: int    cleanup();

unix.superglobalmegacorp.com

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