rose.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022: #ifndef _NETROSE_ROSE_H
023: #define _NETROSE_ROSE_H 1
024:
025:
026: #define SOL_ROSE 260
027:
028:
029:
030:
031:
032: #define ROSE_MTU 251
033:
034: #define ROSE_MAX_DIGIS 6
035:
036: #define ROSE_DEFER 1
037: #define ROSE_T1 2
038: #define ROSE_T2 3
039: #define ROSE_T3 4
040: #define ROSE_IDLE 5
041: #define ROSE_QBITINCL 6
042: #define ROSE_HOLDBACK 7
043:
044: #define SIOCRSGCAUSE (SIOCPROTOPRIVATE + 0)
045: #define SIOCRSSCAUSE (SIOCPROTOPRIVATE + 1)
046: #define SIOCRSL2CALL (SIOCPROTOPRIVATE + 2)
047: #define SIOCRSSL2CALL (SIOCPROTOPRIVATE + 2)
048: #define SIOCRSACCEPT (SIOCPROTOPRIVATE + 3)
049: #define SIOCRSCLRRT (SIOCPROTOPRIVATE + 4)
050: #define SIOCRSGL2CALL (SIOCPROTOPRIVATE + 5)
051: #define SIOCRSGFACILITIES (SIOCPROTOPRIVATE + 6)
052:
053: #define ROSE_DTE_ORIGINATED 0x00
054: #define ROSE_NUMBER_BUSY 0x01
055: #define ROSE_INVALID_FACILITY 0x03
056: #define ROSE_NETWORK_CONGESTION 0x05
057: #define ROSE_OUT_OF_ORDER 0x09
058: #define ROSE_ACCESS_BARRED 0x0B
059: #define ROSE_NOT_OBTAINABLE 0x0D
060: #define ROSE_REMOTE_PROCEDURE 0x11
061: #define ROSE_LOCAL_PROCEDURE 0x13
062: #define ROSE_SHIP_ABSENT 0x39
063:
064:
065: typedef struct
066: {
067: char rose_addr[5];
068: } rose_address;
069:
070: struct sockaddr_rose
071: {
072: sa_family_t srose_family;
073: rose_address srose_addr;
074: ax25_address srose_call;
075: int srose_ndigis;
076: ax25_address srose_digi;
077: };
078:
079: struct full_sockaddr_rose
080: {
081: sa_family_t srose_family;
082: rose_address srose_addr;
083: ax25_address srose_call;
084: unsigned int srose_ndigis;
085: ax25_address srose_digis[ROSE_MAX_DIGIS];
086: };
087:
088: struct rose_route_struct
089: {
090: rose_address address;
091: unsigned short int mask;
092: ax25_address neighbour;
093: char device[16];
094: unsigned char ndigis;
095: ax25_address digipeaters[AX25_MAX_DIGIS];
096: };
097:
098: struct rose_cause_struct
099: {
100: unsigned char cause;
101: unsigned char diagnostic;
102: };
103:
104: struct rose_facilities_struct
105: {
106: rose_address source_addr, dest_addr;
107: ax25_address source_call, dest_call;
108: unsigned char source_ndigis, dest_ndigis;
109: ax25_address source_digis[ROSE_MAX_DIGIS];
110: ax25_address dest_digis[ROSE_MAX_DIGIS];
111: unsigned int rand;
112: rose_address fail_addr;
113: ax25_address fail_call;
114: };
115:
116: #endif
117:
© Andrew Scott 2006 -
2025,
All Rights Reserved