...The refactoring...Must happen...
This commit is contained in:
parent
5fe656762f
commit
8ea112451a
3 changed files with 85 additions and 72 deletions
|
@ -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 */
|
||||
|
|
54
include/patty/ax25/frame.h
Normal file
54
include/patty/ax25/frame.h
Normal 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 */
|
29
include/patty/ax25/proto.h
Normal file
29
include/patty/ax25/proto.h
Normal 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 */
|
Loading…
Add table
Reference in a new issue