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