...The refactoring...Must happen...

This commit is contained in:
XANTRONIX Development 2015-07-18 12:06:25 -05:00
parent 5fe656762f
commit 8ea112451a
3 changed files with 85 additions and 72 deletions

View file

@ -5,77 +5,7 @@
#include <sys/types.h>
#include <patty/ax25/macros.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
};
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 <patty/ax25/proto.h>
#include <patty/ax25/frame.h>
#endif /* _PATTY_AX25_H */

View file

@ -0,0 +1,54 @@
#ifndef _PATTY_AX25_FRAME_H
#define _PATTY_AX25_FRAME_H
#include <stdint.h>
#include <sys/types.h>
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 */

View file

@ -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 */