Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


rose.h
001: /* Definitions for Rose packet radio address family.
002:    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
003:    This file is part of the GNU C Library.
004: 
005:    The GNU C Library is free software; you can redistribute it and/or
006:    modify it under the terms of the GNU Lesser General Public
007:    License as published by the Free Software Foundation; either
008:    version 2.1 of the License, or (at your option) any later version.
009: 
010:    The GNU C Library is distributed in the hope that it will be useful,
011:    but WITHOUT ANY WARRANTY; without even the implied warranty of
012:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013:    Lesser General Public License for more details.
014: 
015:    You should have received a copy of the GNU Lesser General Public
016:    License along with the GNU C Library; if not, write to the Free
017:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
018:    02111-1307 USA.  */
019: 
020: /* What follows is copied from the 2.1.93 <linux/rose.h>.  */
021: 
022: #ifndef _NETROSE_ROSE_H
023: #define _NETROSE_ROSE_H 1
024: 
025: /* Socket level values.  */
026: #define SOL_ROSE        260
027: 
028: 
029: /* These are the public elements of the Linux kernel Rose
030:    implementation.  For kernel AX.25 see the file ax25.h. This file
031:    requires ax25.h for the definition of the ax25_address structure.  */
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  /* netrose/rose.h */
117: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/