linux/include/uapi/linux/rose.h
<<
>>
Prefs
   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
  46typedef struct {
  47        char            rose_addr[5];
  48} rose_address;
  49
  50struct 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
  58struct 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
  66struct 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
  75struct rose_cause_struct {
  76        unsigned char   cause;
  77        unsigned char   diagnostic;
  78};
  79
  80struct 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
  92