ax25.c File Reference
Simple AX25 data link layer implementation. More...
#include "ax25.h"#include "cfg/cfg_ax25.h"#include <algo/crc_ccitt.h>#include <cfg/log.h>#include <string.h>#include <ctype.h>Go to the source code of this file.
Functions | |
| void | ax25_poll (AX25Ctx *ctx) |
| Check if there are any AX25 messages to be processed. | |
| void | ax25_send (AX25Ctx *ctx, const AX25Call *dst, const AX25Call *src, const void *_buf, size_t len) |
| Send an AX25 frame on the channel. | |
| void | ax25_init (AX25Ctx *ctx, KFile *channel, ax25_callback_t hook) |
| Init the AX25 protocol decoder. | |
Detailed Description
Simple AX25 data link layer implementation.
For now, only UI frames without any Layer 3 protocol are handled. This however is enough to send/receive APRS packets.
- Version:
- $Id$
Definition in file ax25.c.
Function Documentation
| void ax25_init | ( | AX25Ctx * | ctx, | |
| KFile * | channel, | |||
| ax25_callback_t | hook | |||
| ) |
| void ax25_poll | ( | AX25Ctx * | ctx | ) |
Check if there are any AX25 messages to be processed.
This function read available characters from the medium and search for any AX25 messages. If a message is found it is decoded and the linked callback executed. This function may be blocking if there are no available chars and the KFile used in ctx to access the medium is configured in blocking mode.
- Parameters:
-
ctx AX25 context to operate on.
| void ax25_send | ( | AX25Ctx * | ctx, | |
| const AX25Call * | dst, | |||
| const AX25Call * | src, | |||
| const void * | _buf, | |||
| size_t | len | |||
| ) |
Send an AX25 frame on the channel.
- Parameters:
-
ctx AX25 context to operate on. dst the destination callsign for the frame,
- See also:
- AX25_CALL for a handy way to create a callsign on the fly.
- Parameters:
-
src the source callsign for the frame,
- See also:
- AX25_CALL for a handy way to create a callsign on the fly.
- Parameters:
-
_buf payload buffer. len length of the payload.
