summaryrefslogtreecommitdiffstats
path: root/include/linux/ax25.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ax25.h')
-rw-r--r--include/linux/ax25.h72
1 files changed, 64 insertions, 8 deletions
diff --git a/include/linux/ax25.h b/include/linux/ax25.h
index 9191445bb..f316c9960 100644
--- a/include/linux/ax25.h
+++ b/include/linux/ax25.h
@@ -6,8 +6,10 @@
#ifndef AX25_KERNEL_H
#define AX25_KERNEL_H
+#define AX25_NEW_DEVIF 1
+
#define AX25_MTU 256
-#define AX25_MAX_DIGIS 8
+#define AX25_MAX_DIGIS 8
#define AX25_WINDOW 1
#define AX25_T1 2
@@ -35,6 +37,9 @@
#define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12)
#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13)
+#define AX25_SET_DEV_BITRATE 0
+#define AX25_SET_DEV_MODE 1
+
#define AX25_SET_RT_IPMODE 2
#define AX25_NOUID_DEFAULT 0
@@ -58,6 +63,59 @@ struct full_sockaddr_ax25 {
ax25_address fsa_digipeater[AX25_MAX_DIGIS];
};
+#define fsax25_family fsa_ax25.sax25_family
+#define fsax25_call fsa_ax25.sax25_call
+#define fsax25_ndigis fsa_ax25.sax25_ndigis
+
+typedef struct {
+ ax25_address addr;
+ ax25_address digipeater[AX25_MAX_DIGIS];;
+ unsigned char dcount;
+} ax25_path_t;
+
+typedef struct {
+ ax25_address dest;
+ ax25_address src;
+ ax25_address digipeater[AX25_MAX_DIGIS];
+ unsigned char dcount;
+ char lastrepeat;
+} ax25_addr_t;
+
+struct ax25_rtmsg {
+ char port_name[32];
+ unsigned int mode;
+ ax25_addr_t addr;
+};
+
+struct ax25_armsg {
+ char port_name[32];
+ unsigned int ip_addr;
+ ax25_address ax_addr;
+};
+
+struct ax25_pathmsg {
+ char port_name[32];
+ unsigned int mode;
+ ax25_path_t path;
+};
+
+struct ax25_nlmsg {
+
+#define AX25_MSG_RTINFO 0
+#define AX25_MSG_ARINFO 1
+#define AX25_MSG_SETRT 2
+#define AX25_MSG_DELRT 3
+#define AX25_MSG_OPTRT 4
+ unsigned int msg_type;
+
+ union {
+ unsigned char raw[128-sizeof(unsigned int)];
+ struct ax25_rtmsg rtmsg;
+ struct ax25_armsg armsg;
+ struct ax25_pathmsg pathmsg;
+ } msg;
+};
+
struct ax25_routes_struct {
ax25_address port_addr;
ax25_address dest_addr;
@@ -73,13 +131,11 @@ struct ax25_route_opt_struct {
};
struct ax25_ctl_struct {
- ax25_address port_addr;
- ax25_address source_addr;
- ax25_address dest_addr;
- unsigned int cmd;
- unsigned long arg;
- unsigned char digi_count;
- ax25_address digi_addr[AX25_MAX_DIGIS];
+ ax25_address port_addr;
+ ax25_address source_addr;
+ ax25_address dest_addr;
+ unsigned int cmd;
+ unsigned long arg;
};
/* this will go away. Please do not export to user land */