From 1666666e9db15af8bcf7c43d472b7b69e1fc1cb3 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Thu, 17 Sep 2015 22:42:28 -0500 Subject: [PATCH] This is all very necessary if I am to wrest tight control over frame decoding into my own hands --- include/patty/kiss.h | 4 ++++ src/kiss.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/patty/kiss.h b/include/patty/kiss.h index da9bb3a..5cc2723 100644 --- a/include/patty/kiss.h +++ b/include/patty/kiss.h @@ -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); diff --git a/src/kiss.c b/src/kiss.c index bafaf93..7238801 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -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;