kopia lustrzana https://github.com/sp9skp/spdxl
729 wiersze
16 KiB
C
729 wiersze
16 KiB
C
/*
|
|
* dxlAPRS toolchain
|
|
*
|
|
* Copyright (C) Christian Rabler <oe5dxl@oevsv.at>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
|
|
#ifndef aprsdecode_H_
|
|
#define aprsdecode_H_
|
|
#ifndef X2C_H_
|
|
#include "X2C.h"
|
|
#endif
|
|
#ifndef aprspos_H_
|
|
#include "aprspos.h"
|
|
#endif
|
|
#ifndef xosi_H_
|
|
#include "xosi.h"
|
|
#endif
|
|
|
|
/* connect to aprs-is gateway and decode data for archive and map by OE5DXL */
|
|
typedef uint32_t aprsdecode_SET256[8];
|
|
|
|
#define aprsdecode_CR "\015"
|
|
|
|
#define aprsdecode_LF "\012"
|
|
|
|
#define aprsdecode_DEGSYM "\177"
|
|
|
|
#define aprsdecode_DELETSYM "\001"
|
|
|
|
#define aprsdecode_WXNIL 1.E+6
|
|
|
|
#define aprsdecode_MSGSIZE 67
|
|
|
|
#define aprsdecode_ACKSIZE 5
|
|
|
|
#define aprsdecode_REPLYACK "}"
|
|
|
|
#define aprsdecode_UDPSOCKS 4
|
|
|
|
#define aprsdecode_DESTCALL "APLM01"
|
|
|
|
#define aprsdecode_SHOWTEMPWIND 3600
|
|
/* till seconds after last wx info show temp or windvane */
|
|
|
|
#define aprsdecode_MAXTEMP 99
|
|
/* ignore out of range temps */
|
|
|
|
#define aprsdecode_MINTEMP (-99)
|
|
/* ignore out of range temps */
|
|
|
|
#define aprsdecode_IGATEMAXDELAY 5
|
|
/* seconds to discard igate frames if mainloop is too slow */
|
|
|
|
#define aprsdecode_BEGINOFTIME 1388534400
|
|
/* oldest possible log date */
|
|
|
|
#define aprsdecode_MAXMULTILINES 40
|
|
/* AE5PL limits to 23 multiline elements */
|
|
|
|
extern aprsdecode_SET256 aprsdecode_SYMTABLE;
|
|
|
|
#define aprsdecode_VERS "aprsmap(cu) 0.66"
|
|
|
|
typedef char aprsdecode_MONCALL[9];
|
|
|
|
typedef char aprsdecode_FRAMEBUF[512];
|
|
|
|
typedef char aprsdecode_WWWB[1401];
|
|
|
|
typedef char aprsdecode_FILENAME[1024];
|
|
|
|
struct aprsdecode_POSCALL;
|
|
|
|
|
|
struct aprsdecode_POSCALL {
|
|
aprsdecode_MONCALL call;
|
|
char typ;
|
|
struct aprspos_POSITION pos;
|
|
};
|
|
|
|
struct aprsdecode_WWWBUF;
|
|
|
|
typedef struct aprsdecode_WWWBUF * aprsdecode_pWWWBUF;
|
|
|
|
|
|
struct aprsdecode_WWWBUF {
|
|
aprsdecode_WWWB buf;
|
|
int32_t tlen;
|
|
char push;
|
|
aprsdecode_pWWWBUF next;
|
|
};
|
|
|
|
struct aprsdecode_QWatch;
|
|
|
|
|
|
struct aprsdecode_QWatch {
|
|
uint32_t lasttb;
|
|
int32_t qsize;
|
|
int32_t lastqb;
|
|
int32_t txbyte[60];
|
|
};
|
|
|
|
struct aprsdecode_TCPSOCK;
|
|
|
|
typedef struct aprsdecode_TCPSOCK * aprsdecode_pTCPSOCK;
|
|
|
|
|
|
struct aprsdecode_TCPSOCK {
|
|
aprsdecode_pTCPSOCK next;
|
|
int32_t fd;
|
|
uint32_t watchtime;
|
|
uint32_t beacont;
|
|
uint32_t connt;
|
|
uint32_t gatepri;
|
|
char ipnum[64];
|
|
char port[6];
|
|
struct aprsdecode_POSCALL user;
|
|
uint32_t txframes;
|
|
uint32_t txbytes;
|
|
uint32_t rxframes;
|
|
uint32_t rxbytes;
|
|
int32_t rpos;
|
|
int32_t tlen;
|
|
aprsdecode_FRAMEBUF rbuf;
|
|
aprsdecode_FRAMEBUF tbuf;
|
|
struct aprsdecode_QWatch qwatch;
|
|
uint8_t waitpong;
|
|
uint32_t lastpong;
|
|
uint32_t lastping;
|
|
uint32_t windoofwatch;
|
|
};
|
|
|
|
typedef uint32_t aprsdecode_DUPETIMES[65536];
|
|
|
|
struct aprsdecode_UDPSOCK;
|
|
|
|
|
|
struct aprsdecode_UDPSOCK {
|
|
int32_t fd;
|
|
char rawread;
|
|
char checkip;
|
|
uint32_t ip;
|
|
uint32_t bindport;
|
|
uint32_t dport;
|
|
int32_t chan; /* channel number 1.. */
|
|
uint32_t lastudprx;
|
|
uint32_t lastudptx;
|
|
uint32_t starttime;
|
|
uint32_t bpstime;
|
|
uint32_t rxframes;
|
|
uint32_t rxbytes;
|
|
uint32_t txframes;
|
|
uint32_t txbytes; /* for tx bit/s limiter */
|
|
uint32_t uip;
|
|
uint32_t * pdupetimes;
|
|
};
|
|
|
|
typedef char aprsdecode_MSGTEXT[67];
|
|
|
|
typedef char aprsdecode_ACKTEXT[5];
|
|
|
|
typedef char aprsdecode_ACKREPTEXT[2];
|
|
|
|
enum aprsdecode_ERRFLAGS {aprsdecode_eDIST, aprsdecode_eSPIKE,
|
|
aprsdecode_eSYMB, aprsdecode_eDUPE, aprsdecode_eSPEED,
|
|
aprsdecode_eNODRAW, aprsdecode_eNOPOS};
|
|
|
|
|
|
typedef uint8_t aprsdecode_ERRSET;
|
|
|
|
enum aprsdecode_DRAWHINTS {aprsdecode_MIRRORSYM, aprsdecode_ISOBJECT,
|
|
aprsdecode_HIDE, aprsdecode_MARKED, aprsdecode_MOVES};
|
|
|
|
|
|
typedef uint8_t aprsdecode_sDRAWHINTS;
|
|
|
|
struct aprsdecode_SYMBOL;
|
|
|
|
|
|
struct aprsdecode_SYMBOL {
|
|
char tab;
|
|
char pic;
|
|
};
|
|
|
|
struct aprsdecode_AREASYMB;
|
|
|
|
|
|
struct aprsdecode_AREASYMB {
|
|
char typ;
|
|
uint8_t color;
|
|
struct aprspos_POSITION dpos;
|
|
};
|
|
|
|
struct aprsdecode_FRAMEHIST;
|
|
|
|
typedef struct aprsdecode_FRAMEHIST * aprsdecode_pFRAMEHIST;
|
|
|
|
struct aprsdecode_VARDAT;
|
|
|
|
typedef struct aprsdecode_VARDAT * aprsdecode_pVARDAT;
|
|
|
|
|
|
struct aprsdecode_FRAMEHIST {
|
|
aprsdecode_pFRAMEHIST next;
|
|
uint32_t time0;
|
|
aprsdecode_pVARDAT vardat;
|
|
uint8_t nodraw;
|
|
};
|
|
|
|
|
|
struct aprsdecode_VARDAT {
|
|
aprsdecode_pFRAMEHIST lastref;
|
|
struct aprspos_POSITION pos;
|
|
uint32_t refcnt; /* starts at 0 */
|
|
/* altitude :INT16;*/
|
|
uint8_t igatepos;
|
|
uint8_t igatelen;
|
|
char raw[500]; /* last part allocatet with real size */
|
|
};
|
|
|
|
struct aprsdecode_OPHIST;
|
|
|
|
typedef struct aprsdecode_OPHIST * aprsdecode_pOPHIST;
|
|
|
|
|
|
struct aprsdecode_OPHIST {
|
|
aprsdecode_pOPHIST next;
|
|
aprsdecode_pFRAMEHIST frames;
|
|
struct aprspos_POSITION margin0; /* movement frame for quick draw */
|
|
struct aprspos_POSITION margin1;
|
|
struct aprspos_POSITION lastpos;
|
|
uint32_t lasttime;
|
|
uint32_t temptime;
|
|
short lastkmh; /* drive kmh, wx kmh */
|
|
short lasttempalt; /* drive altitude, wx temp */
|
|
float framerate; /* thruput frames/s */
|
|
aprsdecode_MONCALL call;
|
|
struct aprsdecode_SYMBOL sym;
|
|
uint8_t drawhints;
|
|
signed char trackcol;
|
|
signed char textpos;
|
|
signed char valuepos;
|
|
uint8_t lastinftyp; /*0 no inf, 10..99 drive dir, 100 wx no dir 110..199 wind dir*/
|
|
char lastrxport; /* for msg routing, in future remove if port is seen in rawframes */
|
|
struct aprsdecode_AREASYMB areasymb; /* area object data */
|
|
char poligon;
|
|
};
|
|
|
|
enum aprsdecode_STORM {aprsdecode_WXNOWX, aprsdecode_WXNORMAL,
|
|
aprsdecode_WXTS, aprsdecode_WXHC, aprsdecode_WXTD};
|
|
|
|
|
|
struct aprsdecode_WX;
|
|
|
|
|
|
struct aprsdecode_WX {
|
|
float gust;
|
|
float temp;
|
|
float hygro;
|
|
float baro;
|
|
float rain1;
|
|
float rain24;
|
|
float raintoday;
|
|
float lum;
|
|
float sievert;
|
|
uint8_t storm;
|
|
float sustaind;
|
|
float radiushurr;
|
|
float radiusstorm;
|
|
float wholegale;
|
|
};
|
|
|
|
enum aprsdecode_TYPES {aprsdecode_UNKNOWN, aprsdecode_MICE, aprsdecode_POS,
|
|
aprsdecode_WETH, aprsdecode_PWETH, aprsdecode_MSG,
|
|
aprsdecode_OBJ, aprsdecode_ITEM, aprsdecode_SCAP,
|
|
aprsdecode_STAT, aprsdecode_TELE, aprsdecode_QUERY};
|
|
|
|
|
|
typedef uint16_t aprsdecode_TYPSET;
|
|
|
|
enum aprsdecode_ACKREJ {aprsdecode_MSGMSG, aprsdecode_MSGACK,
|
|
aprsdecode_MSGREJ};
|
|
|
|
|
|
struct aprsdecode_HRTPOS;
|
|
|
|
|
|
struct aprsdecode_HRTPOS {
|
|
float dlong;
|
|
float dlat;
|
|
float dalt;
|
|
uint32_t dtime;
|
|
char notinterpolated;
|
|
};
|
|
|
|
struct aprsdecode_MULTILINE;
|
|
|
|
|
|
struct aprsdecode_MULTILINE {
|
|
uint32_t size;
|
|
char linetyp;
|
|
char filltyp;
|
|
struct aprspos_POSITION vec[41];
|
|
};
|
|
|
|
typedef uint16_t aprsdecode_TELEMETRY[7];
|
|
|
|
struct aprsdecode_DAT;
|
|
|
|
|
|
struct aprsdecode_DAT {
|
|
aprsdecode_MONCALL srcall;
|
|
aprsdecode_MONCALL symcall;
|
|
aprsdecode_MONCALL dstcall;
|
|
aprsdecode_MONCALL viacalls[10];
|
|
aprsdecode_MONCALL msgto;
|
|
aprsdecode_MONCALL objectfrom;
|
|
uint32_t hbitp;
|
|
uint32_t igaterawp;
|
|
uint32_t igatelen;
|
|
uint32_t igatep;
|
|
uint32_t payload;
|
|
char postyp;
|
|
char typc;
|
|
struct aprsdecode_AREASYMB areasymb;
|
|
struct aprspos_POSITION pos;
|
|
uint32_t speed;
|
|
uint32_t course;
|
|
int32_t altitude;
|
|
char sym;
|
|
char symt;
|
|
char timestamp;
|
|
char objkill;
|
|
char lastrxport;
|
|
struct aprsdecode_WX wx;
|
|
uint8_t type;
|
|
float moved;
|
|
/*
|
|
stack : CARDINAL;
|
|
*/
|
|
aprsdecode_MSGTEXT msgtext;
|
|
aprsdecode_ACKTEXT acktext;
|
|
uint8_t ackrej;
|
|
struct aprsdecode_HRTPOS hrtposes[32];
|
|
uint32_t hrtlen;
|
|
uint32_t hrttime; /* if non zero is hrt defined */
|
|
struct aprsdecode_MULTILINE multiline;
|
|
aprsdecode_TELEMETRY tlmvalues;
|
|
/* 5 analog and if all 5 valid the sixth is bitset, 0 undef,
|
|
incremented by 1 */
|
|
char comment0[256];
|
|
};
|
|
|
|
enum aprsdecode_WXSET {aprsdecode_wTEMP, aprsdecode_wBARO, aprsdecode_wHYG,
|
|
aprsdecode_wWIND, aprsdecode_wWINDDIR, aprsdecode_wRAIN,
|
|
aprsdecode_wLUMI, aprsdecode_wSHIST, aprsdecode_wBHIST,
|
|
aprsdecode_wAHIST, aprsdecode_wSIEV};
|
|
|
|
|
|
typedef uint16_t aprsdecode_sWXSET;
|
|
|
|
enum aprsdecode_CLICKTYPS {aprsdecode_tTEXT, aprsdecode_tTRACK,
|
|
aprsdecode_tSYMBOL, aprsdecode_tMAP, aprsdecode_tOBJECT,
|
|
aprsdecode_tOBJECTTEXT, aprsdecode_tRFPATH,
|
|
aprsdecode_tKMHOBJ, aprsdecode_tKMH,
|
|
aprsdecode_tDEGREE, aprsdecode_tDEGREEOBJ, aprsdecode_tMETEOCOLOR};
|
|
|
|
|
|
struct aprsdecode_TXMESSAGE;
|
|
|
|
typedef struct aprsdecode_TXMESSAGE * aprsdecode_pTXMESSAGE;
|
|
|
|
|
|
struct aprsdecode_TXMESSAGE {
|
|
aprsdecode_pTXMESSAGE next;
|
|
uint32_t txtime;
|
|
uint32_t acktime;
|
|
uint32_t txcnt;
|
|
char port;
|
|
aprsdecode_MONCALL to;
|
|
aprsdecode_MSGTEXT msgtext;
|
|
uint32_t acknum;
|
|
char heard;
|
|
char rej;
|
|
};
|
|
|
|
struct aprsdecode_MSGFIFO;
|
|
|
|
typedef struct aprsdecode_MSGFIFO * aprsdecode_pMSGFIFO;
|
|
|
|
|
|
struct aprsdecode_MSGFIFO {
|
|
aprsdecode_pMSGFIFO next;
|
|
uint32_t time0;
|
|
char port;
|
|
aprsdecode_MONCALL itemname;
|
|
aprsdecode_MONCALL from;
|
|
aprsdecode_MONCALL to;
|
|
aprsdecode_MSGTEXT txt;
|
|
aprsdecode_ACKTEXT ack;
|
|
char query;
|
|
char deleteitem;
|
|
struct aprspos_POSITION itempos;
|
|
};
|
|
|
|
struct aprsdecode_ZOOMFRAME;
|
|
|
|
|
|
struct aprsdecode_ZOOMFRAME {
|
|
int32_t x0;
|
|
int32_t y00;
|
|
int32_t x1;
|
|
int32_t y1;
|
|
};
|
|
|
|
struct aprsdecode_COLTYP;
|
|
|
|
|
|
struct aprsdecode_COLTYP {
|
|
uint32_t r;
|
|
uint32_t g;
|
|
uint32_t b;
|
|
};
|
|
|
|
struct aprsdecode_MOUNTAIN;
|
|
|
|
typedef struct aprsdecode_MOUNTAIN * aprsdecode_pMOUNTAIN;
|
|
|
|
|
|
struct aprsdecode_MOUNTAIN {
|
|
aprsdecode_pMOUNTAIN next;
|
|
struct aprspos_POSITION pos;
|
|
short alt;
|
|
char name[32];
|
|
};
|
|
|
|
struct aprsdecode_CLICKOBJECT;
|
|
|
|
|
|
struct aprsdecode_CLICKOBJECT {
|
|
aprsdecode_pOPHIST opf;
|
|
aprsdecode_pFRAMEHIST pff;
|
|
aprsdecode_pFRAMEHIST pff0;
|
|
uint8_t typf;
|
|
};
|
|
|
|
typedef char aprsdecode_MAPNAME[41];
|
|
|
|
typedef uint32_t aprsdecode_SYMBOLSET[6];
|
|
|
|
extern uint32_t aprsdecode_systime;
|
|
|
|
extern uint32_t aprsdecode_realtime;
|
|
|
|
extern uint32_t aprsdecode_lastlooped;
|
|
|
|
extern uint32_t aprsdecode_rxidle;
|
|
|
|
extern char aprsdecode_quit;
|
|
|
|
extern char aprsdecode_verb;
|
|
|
|
struct aprsdecode__D0;
|
|
|
|
|
|
struct aprsdecode__D0 {
|
|
char dryrun;
|
|
char withradio;
|
|
char chkmaps;
|
|
char panorama;
|
|
char altimap;
|
|
char watchmhop;
|
|
char lastpoi;
|
|
char insreplaceline;
|
|
char watchlast;
|
|
int32_t x;
|
|
int32_t y;
|
|
int32_t min0;
|
|
aprsdecode_MONCALL mhop;
|
|
struct aprsdecode_SYMBOL onesymbol;
|
|
aprsdecode_SYMBOLSET onesymbolset;
|
|
aprsdecode_pOPHIST ops;
|
|
aprsdecode_pFRAMEHIST pf;
|
|
aprsdecode_pFRAMEHIST pf0;
|
|
int32_t zoomtox;
|
|
int32_t zoomtoy;
|
|
uint8_t typ;
|
|
char cmd;
|
|
char cmdatt;
|
|
struct aprspos_POSITION pullpos;
|
|
struct aprspos_POSITION clickpos;
|
|
struct aprspos_POSITION squerpos0;
|
|
struct aprspos_POSITION squerpos1;
|
|
struct aprspos_POSITION measurepos;
|
|
struct aprspos_POSITION markpos;
|
|
uint32_t markpost; /* waypoint time to markpos to make uniqe */
|
|
uint32_t marktime; /* delete marker if no set by set marker */
|
|
int32_t markalti; /* for geoprofile */
|
|
struct aprspos_POSITION sumpos; /* store last clickpos for waysum */
|
|
float waysum; /* sum up marker set distances */
|
|
uint16_t graphset; /* update graphs if marked last waypoint */
|
|
uint32_t selected;
|
|
uint32_t entries;
|
|
struct aprspos_POSITION bubblpos; /* found position of POI */
|
|
char bubblstr[50]; /* found text of POI */
|
|
struct aprsdecode_CLICKOBJECT table[10];
|
|
uint32_t polilinecursor; /* edit which edge of polinine object */
|
|
};
|
|
|
|
extern struct aprsdecode__D0 aprsdecode_click;
|
|
|
|
extern struct aprspos_POSITION aprsdecode_mappos;
|
|
|
|
extern int32_t aprsdecode_inittilex;
|
|
|
|
extern int32_t aprsdecode_inittiley;
|
|
|
|
extern int32_t aprsdecode_initxsize;
|
|
|
|
extern int32_t aprsdecode_initysize;
|
|
|
|
extern int32_t aprsdecode_parmzoom;
|
|
|
|
extern int32_t aprsdecode_initzoom;
|
|
|
|
extern float aprsdecode_finezoom;
|
|
|
|
extern float aprsdecode_parmfinezoom;
|
|
|
|
extern char aprsdecode_mapdir[1025];
|
|
|
|
extern aprsdecode_pMOUNTAIN aprsdecode_mountains;
|
|
|
|
struct aprsdecode__D1;
|
|
|
|
|
|
struct aprsdecode__D1 {
|
|
char moving;
|
|
char moded;
|
|
char errorstep;
|
|
char logmode;
|
|
char headmenuy;
|
|
aprsdecode_MAPNAME mapname;
|
|
char configfn[257];
|
|
int32_t maplumcorr;
|
|
int32_t map;
|
|
int32_t rf;
|
|
int32_t rfbri;
|
|
int32_t track;
|
|
int32_t waypoint;
|
|
int32_t sym;
|
|
int32_t obj;
|
|
int32_t text;
|
|
int32_t nomov;
|
|
int32_t centering;
|
|
int32_t fps;
|
|
int32_t actfps;
|
|
uint32_t fontysize;
|
|
char wxcol;
|
|
uint32_t movestep;
|
|
uint32_t dupemaxtime;
|
|
uint32_t kmhtime;
|
|
uint32_t purgetime;
|
|
uint32_t purgetimeobj;
|
|
uint32_t firstdim;
|
|
uint32_t maxdim;
|
|
float gamma;
|
|
char menutransp;
|
|
struct aprsdecode_COLTYP menubackcol;
|
|
struct aprsdecode_COLTYP menucol;
|
|
};
|
|
|
|
extern struct aprsdecode__D1 aprsdecode_lums;
|
|
|
|
struct aprsdecode__D2;
|
|
|
|
|
|
struct aprsdecode__D2 {
|
|
struct aprspos_POSITION winpos0;
|
|
struct aprspos_POSITION winpos1;
|
|
aprsdecode_MONCALL call;
|
|
uint32_t winevent;
|
|
char follow;
|
|
char beep;
|
|
};
|
|
|
|
extern struct aprsdecode__D2 aprsdecode_tracenew;
|
|
|
|
extern aprsdecode_pTXMESSAGE aprsdecode_txmessages;
|
|
|
|
extern aprsdecode_pMSGFIFO aprsdecode_msgfifo0;
|
|
|
|
extern float aprsdecode_spikesens;
|
|
|
|
extern float aprsdecode_maxhop;
|
|
|
|
extern aprsdecode_pOPHIST aprsdecode_ophist2;
|
|
|
|
extern aprsdecode_pOPHIST aprsdecode_ophist0;
|
|
|
|
struct aprsdecode__D3;
|
|
|
|
|
|
struct aprsdecode__D3 {
|
|
char url[256];
|
|
char port[6];
|
|
char filterst[256];
|
|
};
|
|
/*
|
|
servercall : MONCALL;
|
|
*/
|
|
|
|
extern struct aprsdecode__D3 aprsdecode_gateways[10];
|
|
|
|
extern aprsdecode_pTCPSOCK aprsdecode_tcpsocks;
|
|
|
|
extern struct aprsdecode_UDPSOCK aprsdecode_udpsocks0[4];
|
|
|
|
extern uint32_t aprsdecode_lasttcptx;
|
|
|
|
extern uint32_t aprsdecode_lastanyudprx;
|
|
|
|
extern uint32_t aprsdecode_lastpurge;
|
|
|
|
extern uint32_t aprsdecode_lasttcprx;
|
|
|
|
extern aprsdecode_FRAMEBUF aprsdecode_testbeaconbuf;
|
|
/* fill with port:time:beacon then sent once */
|
|
|
|
extern struct xosi_PROCESSHANDLE aprsdecode_serialpid;
|
|
|
|
extern struct xosi_PROCESSHANDLE aprsdecode_serialpid2;
|
|
|
|
extern struct xosi_PROCESSHANDLE aprsdecode_maploadpid;
|
|
|
|
extern int32_t aprsdecode_Decode(char [], uint32_t,
|
|
struct aprsdecode_DAT *);
|
|
|
|
extern int32_t aprsdecode_Stoframe(aprsdecode_pOPHIST *, char [],
|
|
uint32_t, uint32_t, char, uint32_t *,
|
|
struct aprsdecode_DAT);
|
|
|
|
extern void aprsdecode_Checktrack(aprsdecode_pOPHIST, aprsdecode_pFRAMEHIST);
|
|
|
|
extern void aprsdecode_purge(aprsdecode_pOPHIST *, uint32_t, uint32_t);
|
|
|
|
extern int32_t aprsdecode_knottokmh(int32_t);
|
|
|
|
extern void aprsdecode_posinval(struct aprspos_POSITION *);
|
|
|
|
extern uint32_t aprsdecode_trunc(float);
|
|
|
|
extern float aprsdecode_floor(float);
|
|
|
|
extern int32_t aprsdecode_tcpout(aprsdecode_pTCPSOCK);
|
|
|
|
extern void aprsdecode_tcpin(aprsdecode_pTCPSOCK);
|
|
|
|
extern void aprsdecode_udpin(uint32_t);
|
|
|
|
extern void aprsdecode_tcpclose(aprsdecode_pTCPSOCK, char);
|
|
|
|
extern void aprsdecode_tcpjobs(void);
|
|
|
|
extern void aprsdecode_initparms(void);
|
|
|
|
extern void aprsdecode_delwaypoint(aprsdecode_pOPHIST,
|
|
aprsdecode_pFRAMEHIST *);
|
|
|
|
extern uint32_t aprsdecode_finddup(aprsdecode_pFRAMEHIST,
|
|
aprsdecode_pFRAMEHIST);
|
|
|
|
extern void aprsdecode_savetrack(void);
|
|
|
|
extern void aprsdecode_makemsg(char);
|
|
|
|
extern void aprsdecode_deltxmsg(uint32_t, uint32_t);
|
|
|
|
extern void aprsdecode_acknumstr(char [], uint32_t, uint32_t);
|
|
|
|
extern void aprsdecode_getactack(aprsdecode_MONCALL, char [],
|
|
uint32_t);
|
|
|
|
extern void aprsdecode_objsender(aprsdecode_pOPHIST, char [],
|
|
uint32_t);
|
|
|
|
extern aprsdecode_pOPHIST aprsdecode_selop(void);
|
|
|
|
extern void aprsdecode_tcpconnstat(char [], uint32_t);
|
|
|
|
extern void aprsdecode_udpconnstat(uint32_t, char [], uint32_t);
|
|
|
|
extern void aprsdecode_beeplim(int32_t, uint32_t, uint32_t);
|
|
|
|
extern void aprsdecode_importbeacon(void);
|
|
|
|
extern void aprsdecode_extractbeacon(char [], uint32_t, char,
|
|
char);
|
|
|
|
extern void aprsdecode_getbeaconname(char [], uint32_t, char [],
|
|
uint32_t, char [], uint32_t, char *,
|
|
char *, char *);
|
|
|
|
extern void aprsdecode_drawbeacon(char [], uint32_t);
|
|
|
|
extern void aprsdecode_makelogfn(char [], uint32_t);
|
|
/*
|
|
PROCEDURE checksymb(symt, symb:CHAR):BOOLEAN;
|
|
(* true for bad symbol *)
|
|
*/
|
|
|
|
extern void aprsdecode_appendmultiline(struct aprspos_POSITION);
|
|
|
|
extern void aprsdecode_GetMultiline(char [], uint32_t, uint32_t *,
|
|
struct aprsdecode_MULTILINE *);
|
|
|
|
extern char aprsdecode_ismultiline(char);
|
|
|
|
extern void aprsdecode_modmultiline(uint32_t);
|
|
|
|
|
|
extern void aprsdecode_BEGIN(void);
|
|
|
|
|
|
#endif /* aprsdecode_H_ */
|