root/include/uapi/linux/rose.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */