This is all very necessary if I am to wrest tight control over frame decoding into my own hands
This commit is contained in:
parent
63f031b461
commit
1666666e9d
2 changed files with 8 additions and 4 deletions
|
@ -35,8 +35,12 @@ int patty_kiss_tnc_fd_unix(patty_kiss_tnc *tnc);
|
|||
|
||||
void patty_kiss_tnc_close(patty_kiss_tnc *tnc);
|
||||
|
||||
void patty_kiss_tnc_drop(patty_kiss_tnc *tnc);
|
||||
|
||||
int patty_kiss_tnc_dropped(patty_kiss_tnc *tnc);
|
||||
|
||||
void patty_kiss_tnc_flush(patty_kiss_tnc *tnc, size_t len);
|
||||
|
||||
ssize_t patty_kiss_tnc_buffer(patty_kiss_tnc *tnc);
|
||||
|
||||
ssize_t patty_kiss_tnc_decode(patty_kiss_tnc *tnc, void *frame, size_t *len, int *port);
|
||||
|
|
|
@ -198,7 +198,7 @@ error_io:
|
|||
return -1;
|
||||
}
|
||||
|
||||
static void tnc_drop(patty_kiss_tnc *tnc) {
|
||||
void patty_kiss_tnc_drop(patty_kiss_tnc *tnc) {
|
||||
memset(tnc->buf, '\0', tnc->bufsz);
|
||||
memset(tnc->frame, '\0', tnc->bufsz);
|
||||
|
||||
|
@ -210,7 +210,7 @@ int patty_kiss_tnc_dropped(patty_kiss_tnc *tnc) {
|
|||
return tnc->dropped;
|
||||
}
|
||||
|
||||
static void tnc_flush(patty_kiss_tnc *tnc, size_t len) {
|
||||
void patty_kiss_tnc_flush(patty_kiss_tnc *tnc, size_t len) {
|
||||
/*
|
||||
* Move everything from the buffer not processed up to this point, to the
|
||||
* beginning of the buffer.
|
||||
|
@ -253,14 +253,14 @@ ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, void **frame, int *port) {
|
|||
* frame.
|
||||
*/
|
||||
if (decoded == 0 && buffered == 0) {
|
||||
tnc_drop(tnc);
|
||||
patty_kiss_tnc_drop(tnc);
|
||||
}
|
||||
} while (decoded == 0);
|
||||
|
||||
/*
|
||||
* Flush the buffer up to the point of the next frame start.
|
||||
*/
|
||||
tnc_flush(tnc, decoded);
|
||||
patty_kiss_tnc_flush(tnc, decoded);
|
||||
|
||||
*frame = tnc->frame;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue