rose.h
01:
02:
03:
04:
05:
06:
07: #ifndef ROSE_KERNEL_H
08: #define ROSE_KERNEL_H
09:
10: #include <linux/socket.h>
11: #include <linux/ax25.h>
12:
13: #define ROSE_MTU 251
14:
15: #define ROSE_MAX_DIGIS 6
16:
17: #define ROSE_DEFER 1
18: #define ROSE_T1 2
19: #define ROSE_T2 3
20: #define ROSE_T3 4
21: #define ROSE_IDLE 5
22: #define ROSE_QBITINCL 6
23: #define ROSE_HOLDBACK 7
24:
25: #define SIOCRSGCAUSE (SIOCPROTOPRIVATE+0)
26: #define SIOCRSSCAUSE (SIOCPROTOPRIVATE+1)
27: #define SIOCRSL2CALL (SIOCPROTOPRIVATE+2)
28: #define SIOCRSSL2CALL (SIOCPROTOPRIVATE+2)
29: #define SIOCRSACCEPT (SIOCPROTOPRIVATE+3)
30: #define SIOCRSCLRRT (SIOCPROTOPRIVATE+4)
31: #define SIOCRSGL2CALL (SIOCPROTOPRIVATE+5)
32: #define SIOCRSGFACILITIES (SIOCPROTOPRIVATE+6)
33:
34: #define ROSE_DTE_ORIGINATED 0x00
35: #define ROSE_NUMBER_BUSY 0x01
36: #define ROSE_INVALID_FACILITY 0x03
37: #define ROSE_NETWORK_CONGESTION 0x05
38: #define ROSE_OUT_OF_ORDER 0x09
39: #define ROSE_ACCESS_BARRED 0x0B
40: #define ROSE_NOT_OBTAINABLE 0x0D
41: #define ROSE_REMOTE_PROCEDURE 0x11
42: #define ROSE_LOCAL_PROCEDURE 0x13
43: #define ROSE_SHIP_ABSENT 0x39
44:
45: typedef struct {
46: char rose_addr[5];
47: } rose_address;
48:
49: struct sockaddr_rose {
50: __kernel_sa_family_t srose_family;
51: rose_address srose_addr;
52: ax25_address srose_call;
53: int srose_ndigis;
54: ax25_address srose_digi;
55: };
56:
57: struct full_sockaddr_rose {
58: __kernel_sa_family_t srose_family;
59: rose_address srose_addr;
60: ax25_address srose_call;
61: unsigned int srose_ndigis;
62: ax25_address srose_digis[ROSE_MAX_DIGIS];
63: };
64:
65: struct rose_route_struct {
66: rose_address address;
67: unsigned short mask;
68: ax25_address neighbour;
69: char device[16];
70: unsigned char ndigis;
71: ax25_address digipeaters[AX25_MAX_DIGIS];
72: };
73:
74: struct rose_cause_struct {
75: unsigned char cause;
76: unsigned char diagnostic;
77: };
78:
79: struct rose_facilities_struct {
80: rose_address source_addr, dest_addr;
81: ax25_address source_call, dest_call;
82: unsigned char source_ndigis, dest_ndigis;
83: ax25_address source_digis[ROSE_MAX_DIGIS];
84: ax25_address dest_digis[ROSE_MAX_DIGIS];
85: unsigned int rand;
86: rose_address fail_addr;
87: ax25_address fail_call;
88: };
89:
90: #endif
91:
© Andrew Scott 2006 -
2025,
All Rights Reserved