|
73 | 73 | struct packet_s {
|
74 | 74 |
|
75 | 75 | int magic1; /* for error checking. */
|
| 76 | + |
76 | 77 | int seq; /* unique sequence number for debugging. */
|
77 | 78 |
|
| 79 | + double release_time; /* Time stamp in format returned by dtime_now(). */ |
| 80 | + /* When to release from the SATgate mode delay queue. */ |
| 81 | + |
78 | 82 | #define MAGIC 0x41583235
|
79 | 83 |
|
80 | 84 | struct packet_s *nextp; /* Pointer to next in queue. */
|
@@ -145,6 +149,8 @@ typedef struct packet_s *packet_t;
|
145 | 149 |
|
146 | 150 | #ifdef AX25_PAD_C /* Keep this hidden - implementation could change. */
|
147 | 151 |
|
| 152 | +extern packet_t ax25_new (void); |
| 153 | + |
148 | 154 | /*
|
149 | 155 | * APRS always has one control octet of 0x03 but the more
|
150 | 156 | * general AX.25 case is one or two control bytes depending on
|
@@ -273,8 +279,10 @@ typedef struct alevel_s {
|
273 | 279 | } alevel_t;
|
274 | 280 |
|
275 | 281 |
|
| 282 | +#ifndef AXTEST |
| 283 | +// TODO: remove this? |
276 | 284 | #define AX25MEMDEBUG 1
|
277 |
| - |
| 285 | +#endif |
278 | 286 |
|
279 | 287 |
|
280 | 288 | #if AX25MEMDEBUG // to investigate a memory leak problem
|
@@ -310,6 +318,8 @@ extern void ax25_delete (packet_t pp);
|
310 | 318 | #endif
|
311 | 319 |
|
312 | 320 |
|
| 321 | + |
| 322 | + |
313 | 323 | extern int ax25_parse_addr (int position, char *in_addr, int strict, char *out_addr, int *out_ssid, int *out_heard);
|
314 | 324 | extern int ax25_check_addresses (packet_t pp);
|
315 | 325 |
|
@@ -344,6 +354,9 @@ extern int ax25_get_dti (packet_t this_p);
|
344 | 354 |
|
345 | 355 | extern packet_t ax25_get_nextp (packet_t this_p);
|
346 | 356 |
|
| 357 | +extern void ax25_set_release_time (packet_t this_p, double release_time); |
| 358 | +extern double ax25_get_release_time (packet_t this_p); |
| 359 | + |
347 | 360 | extern void ax25_format_addrs (packet_t pp, char *);
|
348 | 361 |
|
349 | 362 | extern int ax25_pack (packet_t pp, unsigned char result[AX25_MAX_PACKET_LEN]);
|
|
0 commit comments