Annotation of Gnu-Mach/linux/src/include/net/netrom.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *     Declarations of NET/ROM type objects.
                      3:  *
                      4:  *     Jonathan Naylor G4KLX   9/4/95
                      5:  */
                      6: 
                      7: #ifndef _NETROM_H
                      8: #define _NETROM_H 
                      9: #include <linux/netrom.h>
                     10: 
                     11: #define        NR_SLOWHZ                       10      /* Run timing at 1/10 second */
                     12: 
                     13: #define        NR_NETWORK_LEN                  15
                     14: #define        NR_TRANSPORT_LEN                5
                     15: 
                     16: #define        NR_PROTO_IP                     0x0C
                     17: 
                     18: #define        NR_PROTOEXT                     0x00
                     19: #define        NR_CONNREQ                      0x01
                     20: #define        NR_CONNACK                      0x02
                     21: #define        NR_DISCREQ                      0x03
                     22: #define        NR_DISCACK                      0x04
                     23: #define        NR_INFO                         0x05
                     24: #define        NR_INFOACK                      0x06
                     25: 
                     26: #define        NR_CHOKE_FLAG                   0x80
                     27: #define        NR_NAK_FLAG                     0x40
                     28: #define        NR_MORE_FLAG                    0x20
                     29: 
                     30: /* Define Link State constants. */
                     31: 
                     32: #define NR_STATE_0                     0
                     33: #define NR_STATE_1                     1
                     34: #define NR_STATE_2                     2
                     35: #define NR_STATE_3                     3
                     36: 
                     37: #define        NR_COND_ACK_PENDING             0x01
                     38: #define        NR_COND_REJECT                  0x02
                     39: #define        NR_COND_PEER_RX_BUSY            0x04
                     40: #define        NR_COND_OWN_RX_BUSY             0x08
                     41: 
                     42: #define NR_DEFAULT_T1                  (120 * NR_SLOWHZ)       /* Outstanding frames - 120 seconds */
                     43: #define NR_DEFAULT_T2                  (5   * NR_SLOWHZ)       /* Response delay     - 5 seconds */
                     44: #define NR_DEFAULT_N2                  3                       /* Number of Retries - 3 */
                     45: #define        NR_DEFAULT_T4                   (180 * NR_SLOWHZ)       /* Busy Delay - 180 seconds */
                     46: #define        NR_DEFAULT_WINDOW               4                       /* Default Window Size - 4 */
                     47: #define        NR_DEFAULT_OBS                  6                       /* Default Obsolescence Count - 6 */
                     48: #define        NR_DEFAULT_QUAL                 10                      /* Default Neighbour Quality - 10 */
                     49: #define        NR_DEFAULT_TTL                  16                      /* Default Time To Live - 16 */
                     50: #define        NR_DEFAULT_ROUTING              1                       /* Is routing enabled ? */
                     51: #define        NR_DEFAULT_FAILS                2                       /* Link fails until route fails */
                     52: 
                     53: #define NR_MODULUS                     256
                     54: #define NR_MAX_WINDOW_SIZE             127                     /* Maximum Window Allowable - 127 */
                     55: #define        NR_MAX_PACKET_SIZE              236                     /* Maximum Packet Length - 236 */
                     56: 
                     57: typedef struct {
                     58:        ax25_address            user_addr, source_addr, dest_addr;
                     59:        struct device           *device;
                     60:        unsigned char           my_index,   my_id;
                     61:        unsigned char           your_index, your_id;
                     62:        unsigned char           state, condition, bpqext, window;
                     63:        unsigned short          vs, vr, va, vl;
                     64:        unsigned char           n2, n2count;
                     65:        unsigned short          t1, t2, t4;
                     66:        unsigned short          t1timer, t2timer, t4timer;
                     67:        unsigned short          fraglen;
                     68:        struct sk_buff_head     ack_queue;
                     69:        struct sk_buff_head     reseq_queue;
                     70:        struct sk_buff_head     frag_queue;
                     71:        struct sock             *sk;            /* Backlink to socket */
                     72: } nr_cb;
                     73: 
                     74: struct nr_neigh {
                     75:        struct nr_neigh *next;
                     76:        ax25_address    callsign;
                     77:        ax25_digi       *digipeat;
                     78:        ax25_cb         *ax25;
                     79:        struct device   *dev;
                     80:        unsigned char   quality;
                     81:        unsigned char   locked;
                     82:        unsigned short  count;
                     83:        unsigned int    number;
                     84:        unsigned char   failed;
                     85: };
                     86: 
                     87: struct nr_route {
                     88:        unsigned char   quality;
                     89:        unsigned char   obs_count;
                     90:        struct nr_neigh *neighbour;
                     91: };
                     92: 
                     93: struct nr_node {
                     94:        struct nr_node  *next;
                     95:        ax25_address    callsign;
                     96:        char            mnemonic[7];
                     97:        unsigned char   which;
                     98:        unsigned char   count;
                     99:        struct nr_route routes[3];
                    100: };
                    101: 
                    102: /* af_netrom.c */
                    103: extern int  sysctl_netrom_default_path_quality;
                    104: extern int  sysctl_netrom_obsolescence_count_initialiser;
                    105: extern int  sysctl_netrom_network_ttl_initialiser;
                    106: extern int  sysctl_netrom_transport_timeout;
                    107: extern int  sysctl_netrom_transport_maximum_tries;
                    108: extern int  sysctl_netrom_transport_acknowledge_delay;
                    109: extern int  sysctl_netrom_transport_busy_delay;
                    110: extern int  sysctl_netrom_transport_requested_window_size;
                    111: extern int  sysctl_netrom_routing_control;
                    112: extern int  sysctl_netrom_link_fails_count;
                    113: extern int  nr_rx_frame(struct sk_buff *, struct device *);
                    114: extern void nr_destroy_socket(struct sock *);
                    115: 
                    116: /* nr_dev.c */
                    117: extern int  nr_rx_ip(struct sk_buff *, struct device *);
                    118: extern int  nr_init(struct device *);
                    119: 
                    120: #include <net/nrcall.h>
                    121: 
                    122: /* nr_in.c */
                    123: extern int  nr_process_rx_frame(struct sock *, struct sk_buff *);
                    124: 
                    125: /* nr_out.c */
                    126: extern void nr_output(struct sock *, struct sk_buff *);
                    127: extern void nr_send_nak_frame(struct sock *);
                    128: extern void nr_kick(struct sock *);
                    129: extern void nr_transmit_buffer(struct sock *, struct sk_buff *);
                    130: extern void nr_establish_data_link(struct sock *);
                    131: extern void nr_enquiry_response(struct sock *);
                    132: extern void nr_check_iframes_acked(struct sock *, unsigned short);
                    133: 
                    134: /* nr_route.c */
                    135: extern void nr_rt_device_down(struct device *);
                    136: extern struct device *nr_dev_first(void);
                    137: extern struct device *nr_dev_get(ax25_address *);
                    138: extern int  nr_rt_ioctl(unsigned int, void *);
                    139: extern void nr_link_failed(ax25_cb *, int);
                    140: extern int  nr_route_frame(struct sk_buff *, ax25_cb *);
                    141: extern int  nr_nodes_get_info(char *, char **, off_t, int, int);
                    142: extern int  nr_neigh_get_info(char *, char **, off_t, int, int);
                    143: extern void nr_rt_free(void);
                    144: 
                    145: /* nr_subr.c */
                    146: extern void nr_clear_queues(struct sock *);
                    147: extern void nr_frames_acked(struct sock *, unsigned short);
                    148: extern void nr_requeue_frames(struct sock *);
                    149: extern int  nr_validate_nr(struct sock *, unsigned short);
                    150: extern int  nr_in_rx_window(struct sock *, unsigned short);
                    151: extern void nr_write_internal(struct sock *, int);
                    152: extern void nr_transmit_dm(struct sk_buff *, int);
                    153: 
                    154: /* nr_timer.c */
                    155: extern void nr_set_timer(struct sock *);
                    156: 
                    157: /* sysctl_net_netrom.c */
                    158: extern void nr_register_sysctl(void);
                    159: extern void nr_unregister_sysctl(void);
                    160: 
                    161: /* nr_loopback.c */
                    162: extern void nr_loopback_init(void);
                    163: extern void nr_loopback_clear(void);
                    164: extern int nr_loopback_queue(struct sk_buff *);
                    165: 
                    166: #endif

unix.superglobalmegacorp.com

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