linux/include/linux/ax25.h
<<
>>
Prefs
   1/*
   2 * These are the public elements of the Linux kernel AX.25 code. A similar
   3 * file netrom.h exists for the NET/ROM protocol.
   4 */
   5
   6#ifndef AX25_KERNEL_H
   7#define AX25_KERNEL_H
   8
   9#include <linux/socket.h>
  10
  11#define AX25_MTU        256
  12#define AX25_MAX_DIGIS  8
  13
  14#define AX25_WINDOW     1
  15#define AX25_T1         2
  16#define AX25_N2         3
  17#define AX25_T3         4
  18#define AX25_T2         5
  19#define AX25_BACKOFF    6
  20#define AX25_EXTSEQ     7
  21#define AX25_PIDINCL    8
  22#define AX25_IDLE       9
  23#define AX25_PACLEN     10
  24#define AX25_IAMDIGI    12
  25
  26#define AX25_KILL       99
  27
  28#define SIOCAX25GETUID          (SIOCPROTOPRIVATE+0)
  29#define SIOCAX25ADDUID          (SIOCPROTOPRIVATE+1)
  30#define SIOCAX25DELUID          (SIOCPROTOPRIVATE+2)
  31#define SIOCAX25NOUID           (SIOCPROTOPRIVATE+3)
  32#define SIOCAX25OPTRT           (SIOCPROTOPRIVATE+7)
  33#define SIOCAX25CTLCON          (SIOCPROTOPRIVATE+8)
  34#define SIOCAX25GETINFOOLD      (SIOCPROTOPRIVATE+9)
  35#define SIOCAX25ADDFWD          (SIOCPROTOPRIVATE+10)
  36#define SIOCAX25DELFWD          (SIOCPROTOPRIVATE+11)
  37#define SIOCAX25DEVCTL          (SIOCPROTOPRIVATE+12)
  38#define SIOCAX25GETINFO         (SIOCPROTOPRIVATE+13)
  39
  40#define AX25_SET_RT_IPMODE      2
  41
  42#define AX25_NOUID_DEFAULT      0
  43#define AX25_NOUID_BLOCK        1
  44
  45typedef struct {
  46        char            ax25_call[7];   /* 6 call + SSID (shifted ascii!) */
  47} ax25_address;
  48
  49struct sockaddr_ax25 {
  50        sa_family_t     sax25_family;
  51        ax25_address    sax25_call;
  52        int             sax25_ndigis;
  53        /* Digipeater ax25_address sets follow */
  54};
  55
  56#define sax25_uid       sax25_ndigis
  57
  58struct full_sockaddr_ax25 {
  59        struct sockaddr_ax25 fsa_ax25;
  60        ax25_address    fsa_digipeater[AX25_MAX_DIGIS];
  61};
  62
  63struct ax25_routes_struct {
  64        ax25_address    port_addr;
  65        ax25_address    dest_addr;
  66        unsigned char   digi_count;
  67        ax25_address    digi_addr[AX25_MAX_DIGIS];
  68};
  69
  70struct ax25_route_opt_struct {
  71        ax25_address    port_addr;
  72        ax25_address    dest_addr;
  73        int             cmd;
  74        int             arg;
  75};
  76
  77struct ax25_ctl_struct {
  78        ax25_address            port_addr;
  79        ax25_address            source_addr;
  80        ax25_address            dest_addr;
  81        unsigned int            cmd;
  82        unsigned long           arg;
  83        unsigned char           digi_count;
  84        ax25_address            digi_addr[AX25_MAX_DIGIS];
  85};
  86
  87/* this will go away. Please do not export to user land */
  88struct ax25_info_struct_deprecated {
  89        unsigned int    n2, n2count;
  90        unsigned int    t1, t1timer;
  91        unsigned int    t2, t2timer;
  92        unsigned int    t3, t3timer;
  93        unsigned int    idle, idletimer;
  94        unsigned int    state;
  95        unsigned int    rcv_q, snd_q;
  96};
  97
  98struct ax25_info_struct {
  99        unsigned int    n2, n2count;
 100        unsigned int    t1, t1timer;
 101        unsigned int    t2, t2timer;
 102        unsigned int    t3, t3timer;
 103        unsigned int    idle, idletimer;
 104        unsigned int    state;
 105        unsigned int    rcv_q, snd_q;
 106        unsigned int    vs, vr, va, vs_max;
 107        unsigned int    paclen;
 108        unsigned int    window;
 109};
 110
 111struct ax25_fwd_struct {
 112        ax25_address    port_from;
 113        ax25_address    port_to;
 114};
 115
 116#endif
 117