mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.2 KiB
91 lines
2.2 KiB
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
|
/* |
|
* These are the public elements of the Linux kernel Rose implementation. |
|
* For kernel AX.25 see the file ax25.h. This file requires ax25.h for the |
|
* definition of the ax25_address structure. |
|
*/ |
|
|
|
#ifndef ROSE_KERNEL_H |
|
#define ROSE_KERNEL_H |
|
|
|
#include <linux/socket.h> |
|
#include <linux/ax25.h> |
|
|
|
#define ROSE_MTU 251 |
|
|
|
#define ROSE_MAX_DIGIS 6 |
|
|
|
#define ROSE_DEFER 1 |
|
#define ROSE_T1 2 |
|
#define ROSE_T2 3 |
|
#define ROSE_T3 4 |
|
#define ROSE_IDLE 5 |
|
#define ROSE_QBITINCL 6 |
|
#define ROSE_HOLDBACK 7 |
|
|
|
#define SIOCRSGCAUSE (SIOCPROTOPRIVATE+0) |
|
#define SIOCRSSCAUSE (SIOCPROTOPRIVATE+1) |
|
#define SIOCRSL2CALL (SIOCPROTOPRIVATE+2) |
|
#define SIOCRSSL2CALL (SIOCPROTOPRIVATE+2) |
|
#define SIOCRSACCEPT (SIOCPROTOPRIVATE+3) |
|
#define SIOCRSCLRRT (SIOCPROTOPRIVATE+4) |
|
#define SIOCRSGL2CALL (SIOCPROTOPRIVATE+5) |
|
#define SIOCRSGFACILITIES (SIOCPROTOPRIVATE+6) |
|
|
|
#define ROSE_DTE_ORIGINATED 0x00 |
|
#define ROSE_NUMBER_BUSY 0x01 |
|
#define ROSE_INVALID_FACILITY 0x03 |
|
#define ROSE_NETWORK_CONGESTION 0x05 |
|
#define ROSE_OUT_OF_ORDER 0x09 |
|
#define ROSE_ACCESS_BARRED 0x0B |
|
#define ROSE_NOT_OBTAINABLE 0x0D |
|
#define ROSE_REMOTE_PROCEDURE 0x11 |
|
#define ROSE_LOCAL_PROCEDURE 0x13 |
|
#define ROSE_SHIP_ABSENT 0x39 |
|
|
|
typedef struct { |
|
char rose_addr[5]; |
|
} rose_address; |
|
|
|
struct sockaddr_rose { |
|
__kernel_sa_family_t srose_family; |
|
rose_address srose_addr; |
|
ax25_address srose_call; |
|
int srose_ndigis; |
|
ax25_address srose_digi; |
|
}; |
|
|
|
struct full_sockaddr_rose { |
|
__kernel_sa_family_t srose_family; |
|
rose_address srose_addr; |
|
ax25_address srose_call; |
|
unsigned int srose_ndigis; |
|
ax25_address srose_digis[ROSE_MAX_DIGIS]; |
|
}; |
|
|
|
struct rose_route_struct { |
|
rose_address address; |
|
unsigned short mask; |
|
ax25_address neighbour; |
|
char device[16]; |
|
unsigned char ndigis; |
|
ax25_address digipeaters[AX25_MAX_DIGIS]; |
|
}; |
|
|
|
struct rose_cause_struct { |
|
unsigned char cause; |
|
unsigned char diagnostic; |
|
}; |
|
|
|
struct rose_facilities_struct { |
|
rose_address source_addr, dest_addr; |
|
ax25_address source_call, dest_call; |
|
unsigned char source_ndigis, dest_ndigis; |
|
ax25_address source_digis[ROSE_MAX_DIGIS]; |
|
ax25_address dest_digis[ROSE_MAX_DIGIS]; |
|
unsigned int rand; |
|
rose_address fail_addr; |
|
ax25_address fail_call; |
|
}; |
|
|
|
#endif
|
|
|