45 lines
943 B
C
45 lines
943 B
C
#ifndef _PATTY_AX25_FRAME_H
|
|
#define _PATTY_AX25_FRAME_H
|
|
|
|
#include <stdint.h>
|
|
#include <sys/types.h>
|
|
|
|
#define PATTY_AX25_FRAME_DEFAULT_MAXLEN 256
|
|
#define PATTY_AX25_FRAME_DEFAULT_WINDOW 8
|
|
|
|
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_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;
|
|
|
|
uint16_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 */
|