Annotation of 43BSDReno/sys/netns/ns_error.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1984, 1988 Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution is only permitted until one year after the first shipment
                      6:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
                      7:  * binary forms are permitted provided that: (1) source distributions retain
                      8:  * this entire copyright notice and comment, and (2) distributions including
                      9:  * binaries display the following acknowledgement:  This product includes
                     10:  * software developed by the University of California, Berkeley and its
                     11:  * contributors'' in the documentation or other materials provided with the
                     12:  * distribution and in all advertising materials mentioning features or use
                     13:  * of this software.  Neither the name of the University nor the names of
                     14:  * its contributors may be used to endorse or promote products derived from
                     15:  * this software without specific prior written permission.
                     16:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     17:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     18:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     19:  *
                     20:  *     @(#)ns_error.h  7.5 (Berkeley) 6/28/90
                     21:  */
                     22: 
                     23: /*
                     24:  * Xerox NS error messages
                     25:  */
                     26: 
                     27: struct ns_errp {
                     28:        u_short         ns_err_num;             /* Error Number */
                     29:        u_short         ns_err_param;           /* Error Parameter */
                     30:        struct idp      ns_err_idp;             /* Initial segment of offending
                     31:                                                   packet */
                     32:        u_char          ns_err_lev2[12];        /* at least this much higher
                     33:                                                   level protocol */
                     34: };
                     35: struct  ns_epidp {
                     36:        struct idp ns_ep_idp;
                     37:        struct ns_errp ns_ep_errp;
                     38: };
                     39: 
                     40: #define        NS_ERR_UNSPEC   0       /* Unspecified Error detected at dest. */
                     41: #define        NS_ERR_BADSUM   1       /* Bad Checksum detected at dest */
                     42: #define        NS_ERR_NOSOCK   2       /* Specified socket does not exist at dest*/
                     43: #define        NS_ERR_FULLUP   3       /* Dest. refuses packet due to resource lim.*/
                     44: #define        NS_ERR_UNSPEC_T 0x200   /* Unspec. Error occured before reaching dest*/
                     45: #define        NS_ERR_BADSUM_T 0x201   /* Bad Checksum detected in transit */
                     46: #define        NS_ERR_UNREACH_HOST     0x202   /* Dest cannot be reached from here*/
                     47: #define        NS_ERR_TOO_OLD  0x203   /* Packet x'd 15 routers without delivery*/
                     48: #define        NS_ERR_TOO_BIG  0x204   /* Packet too large to be forwarded through
                     49:                                   some intermediate gateway.  The error
                     50:                                   parameter field contains the max packet
                     51:                                   size that can be accommodated */
                     52: #define NS_ERR_MAX 20
                     53: 
                     54: /*
                     55:  * Variables related to this implementation
                     56:  * of the network systems error message protocol.
                     57:  */
                     58: struct ns_errstat {
                     59: /* statistics related to ns_err packets generated */
                     60:        int     ns_es_error;            /* # of calls to ns_error */
                     61:        int     ns_es_oldshort;         /* no error 'cuz old ip too short */
                     62:        int     ns_es_oldns_err;        /* no error 'cuz old was ns_err */
                     63:        int     ns_es_outhist[NS_ERR_MAX];
                     64: /* statistics related to input messages processed */
                     65:        int     ns_es_badcode;          /* ns_err_code out of range */
                     66:        int     ns_es_tooshort;         /* packet < IDP_MINLEN */
                     67:        int     ns_es_checksum;         /* bad checksum */
                     68:        int     ns_es_badlen;           /* calculated bound mismatch */
                     69:        int     ns_es_reflect;          /* number of responses */
                     70:        int     ns_es_inhist[NS_ERR_MAX];
                     71:        u_short ns_es_codes[NS_ERR_MAX];/* which error code for outhist
                     72:                                           since we might not know all */
                     73: };
                     74: 
                     75: #ifdef KERNEL
                     76: struct ns_errstat ns_errstat;
                     77: #endif

unix.superglobalmegacorp.com

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