Annotation of 43BSD/etc/named/db.h, revision 1.1.1.1

1.1       root        1: /*     db.h    4.3     86/06/04        */
                      2: 
                      3: /*
                      4:  * Copyright (c) 1985 Regents of the University of California
                      5:  *     All Rights Reserved
                      6:  */
                      7: 
                      8: /*
                      9:  * Global structures and variables for data base routines.
                     10:  */
                     11: 
                     12: #define INVBLKSZ       7       /* # of namebuf pointers per block */
                     13: #define INVHASHSZ      919     /* size of inverse hash table */
                     14: 
                     15:        /* max length of data in RR data field */
                     16: #define MAXDATA                256
                     17: 
                     18: /*
                     19:  * Hash table structures.
                     20:  */
                     21: struct databuf {
                     22:        struct  databuf *d_next;        /* linked list */
                     23:        short   d_refcount;             /* reference count */
                     24:        short   d_zone;                 /* zone number */
                     25:        short   d_class;                /* class number */
                     26:        short   d_type;                 /* type number */
                     27:        u_long  d_ttl;                  /* time to live */
                     28:        int     d_size;                 /* size of data area */
                     29:        char    d_data[MAXDATA];        /* malloc'ed as needed */
                     30: };
                     31: #define DATASIZE(n) (sizeof(struct databuf) - MAXDATA + n)
                     32: 
                     33: struct namebuf {
                     34:        char    *n_dname;               /* domain name */
                     35:        struct  namebuf *n_next;        /* linked list */
                     36:        struct  databuf *n_data;        /* data records */
                     37:        struct  namebuf *n_parent;      /* parent domain */
                     38:        struct  hashbuf *n_hash;        /* hash table for children */
                     39: };
                     40: 
                     41: struct invbuf {
                     42:        struct  invbuf *i_next;         /* linked list */
                     43:        struct  namebuf *i_dname[INVBLKSZ];     /* domain name */
                     44: };
                     45: 
                     46: struct hashbuf {
                     47:        int     h_size;                 /* size of hash table */
                     48:        int     h_cnt;                  /* number of entries */
                     49:        struct  namebuf *h_tab[1];      /* malloc'ed as needed */
                     50: };
                     51: #define HASHSIZE(s) (s*sizeof(struct namebuf *) + 2*sizeof(int))
                     52: 
                     53: #define HASHSHIFT      3
                     54: #define HASHMASK       0x1f
                     55: 
                     56: /*
                     57:  * Flags to updatedb
                     58:  */
                     59: #define DB_NODATA      0x1             /* data should not exist */
                     60: #define DB_MEXIST      0x2             /* data must exist */
                     61: #define DB_DELETE      0x4             /* delete data if it exists */
                     62: 
                     63: /*
                     64:  * Error return codes
                     65:  */
                     66: #define OK             0
                     67: #define NONAME         -1
                     68: #define NOCLASS                -2
                     69: #define NOTYPE         -3
                     70: #define NODATA         -4
                     71: #define DATAEXISTS     -5
                     72: #define NODBFILE               -6
                     73: #define TOOMANYZONES   -7
                     74: #define GOODDB         -8
                     75: #define NEWDB          -9
                     76: 
                     77: extern struct hashbuf *hashtab;                /* root hash table */
                     78: extern struct invbuf *invtab[];                /* inverse hash table */
                     79: 
                     80: extern struct namebuf *nlookup();
                     81: extern struct namebuf *savename();
                     82: extern struct databuf *savedata();
                     83: extern struct hashbuf *savehash();
                     84: extern struct invbuf *saveinv();
                     85: extern char *savestr();

unix.superglobalmegacorp.com

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