From 8ea112451ac870b6faa4d7803b6a16b805c1247e Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sat, 18 Jul 2015 12:06:25 -0500 Subject: [PATCH] ...The refactoring...Must happen... --- include/patty/ax25.h | 74 ++------------------------------------ include/patty/ax25/frame.h | 54 ++++++++++++++++++++++++++++ include/patty/ax25/proto.h | 29 +++++++++++++++ 3 files changed, 85 insertions(+), 72 deletions(-) create mode 100644 include/patty/ax25/frame.h create mode 100644 include/patty/ax25/proto.h diff --git a/include/patty/ax25.h b/include/patty/ax25.h index 3a14532..1209ef9 100644 --- a/include/patty/ax25.h +++ b/include/patty/ax25.h @@ -5,77 +5,7 @@ #include #include - -#define PATTY_AX25_MAX_HOPS 8 - -enum patty_ax25_version { - PATTY_AX25_OLD, - PATTY_AX25_2_0 -}; - -enum patty_ax25_proto { - PATTY_AX25_PROTO_UNKNOWN = 0x00, - PATTY_AX25_PROTO_ISO_8208 = 0x01, - PATTY_AX25_PROTO_TCP_VJ_COMPR = 0x06, - PATTY_AX25_PROTO_TCP_VJ = 0x07, - PATTY_AX25_PROTO_FRAGMENT = 0x08, - PATTY_AX25_PROTO_TEXNET = 0xc3, - PATTY_AX25_PROTO_LQP = 0xc4, - PATTY_AX25_PROTO_APPLETALK = 0xca, - PATTY_AX25_PROTO_APPLETALK_ARP = 0xcb, - PATTY_AX25_PROTO_INET = 0xcc, - PATTY_AX25_PROTO_INET_ARP = 0xcd, - PATTY_AX25_PROTO_FLEXNET = 0xce, - PATTY_AX25_PROTO_NETROM = 0xcf, - PATTY_AX25_PROTO_RAW = 0xf0, - PATTY_AX25_PROTO_ESCAPE = 0xff -}; - -enum patty_ax25_frame_type { - PATTY_AX25_FRAME_UNKNOWN, - PATTY_AX25_FRAME_INFO, - PATTY_AX25_FRAME_SUPER, - PATTY_AX25_FRAME_UNNUMBERED -}; - -enum patty_ax25_frame_cr { - PATTY_AX25_FRAME_COMMAND, - PATTY_AX25_FRAME_RESPONSE -}; - -typedef struct _patty_ax25_address { - char callsign[7]; - - int ssid; - int last; - - union { - int c; - int repeated; - }; -} patty_ax25_address; - -typedef struct _patty_ax25_frame { - patty_ax25_address dest; - patty_ax25_address src; - patty_ax25_address repeaters[8]; - - int hops; - int repeated; - - enum patty_ax25_version version; - enum patty_ax25_frame_type type; - enum patty_ax25_frame_cr cr; - - uint8_t control; - uint8_t proto; - - void * payload; - size_t payloadsz; - - size_t size; -} patty_ax25_frame; - -int patty_ax25_frame_decode(patty_ax25_frame *frame, void *data, size_t len); +#include +#include #endif /* _PATTY_AX25_H */ diff --git a/include/patty/ax25/frame.h b/include/patty/ax25/frame.h new file mode 100644 index 0000000..05e75c3 --- /dev/null +++ b/include/patty/ax25/frame.h @@ -0,0 +1,54 @@ +#ifndef _PATTY_AX25_FRAME_H +#define _PATTY_AX25_FRAME_H + +#include +#include + +enum patty_ax25_frame_type { + PATTY_AX25_FRAME_UNKNOWN, + PATTY_AX25_FRAME_INFO, + PATTY_AX25_FRAME_SUPER, + PATTY_AX25_FRAME_UNNUMBERED +}; + +enum patty_ax25_frame_cr { + PATTY_AX25_FRAME_COMMAND, + PATTY_AX25_FRAME_RESPONSE +}; + +typedef struct _patty_ax25_address { + char callsign[7]; + + int ssid; + int last; + + union { + int c; + int repeated; + }; +} patty_ax25_address; + +typedef struct _patty_ax25_frame { + patty_ax25_address dest; + patty_ax25_address src; + patty_ax25_address repeaters[8]; + + int hops; + int repeated; + + enum patty_ax25_version version; + enum patty_ax25_frame_type type; + enum patty_ax25_frame_cr cr; + + uint8_t control; + uint8_t proto; + + void * payload; + size_t payloadsz; + + size_t size; +} patty_ax25_frame; + +int patty_ax25_frame_decode(patty_ax25_frame *frame, void *data, size_t len); + +#endif /* _PATTY_AX25_FRAME_H */ diff --git a/include/patty/ax25/proto.h b/include/patty/ax25/proto.h new file mode 100644 index 0000000..a01e683 --- /dev/null +++ b/include/patty/ax25/proto.h @@ -0,0 +1,29 @@ +#ifndef _PATTY_AX25_PROTO_H +#define _PATTY_AX25_PROTO_H + +#define PATTY_AX25_MAX_HOPS 8 + +enum patty_ax25_version { + PATTY_AX25_OLD, + PATTY_AX25_2_0 +}; + +enum patty_ax25_proto { + PATTY_AX25_PROTO_UNKNOWN = 0x00, + PATTY_AX25_PROTO_ISO_8208 = 0x01, + PATTY_AX25_PROTO_TCP_VJ_COMPR = 0x06, + PATTY_AX25_PROTO_TCP_VJ = 0x07, + PATTY_AX25_PROTO_FRAGMENT = 0x08, + PATTY_AX25_PROTO_TEXNET = 0xc3, + PATTY_AX25_PROTO_LQP = 0xc4, + PATTY_AX25_PROTO_APPLETALK = 0xca, + PATTY_AX25_PROTO_APPLETALK_ARP = 0xcb, + PATTY_AX25_PROTO_INET = 0xcc, + PATTY_AX25_PROTO_INET_ARP = 0xcd, + PATTY_AX25_PROTO_FLEXNET = 0xce, + PATTY_AX25_PROTO_NETROM = 0xcf, + PATTY_AX25_PROTO_RAW = 0xf0, + PATTY_AX25_PROTO_ESCAPE = 0xff +}; + +#endif /* _PATTY_AX25_PROTO_H */