Commit graph

176 commits

Author SHA1 Message Date
XANTRONIX Development
c4fa41dab4 I am getting AWFULLY close to being able to run this code 2024-03-01 00:20:46 -05:00
XANTRONIX Development
116f4f9f6b Start approaching something I can conceptually write working code around 2024-03-01 00:20:46 -05:00
XANTRONIX Development
5607dbede6 Split patty_ax25_sock into patty/ax25/sock.h 2024-03-01 00:20:46 -05:00
XANTRONIX Development
ac8b239ed8 Thinking out loud here 2024-03-01 00:20:46 -05:00
XANTRONIX Development
1240061aa8 Add missing src/call.c 2024-03-01 00:20:46 -05:00
XANTRONIX Development
ac55d13057 Writing a network stack from scratch is extremely tiring 2024-03-01 00:20:46 -05:00
XANTRONIX Development
d25b799e4e Moving right along! 2024-03-01 00:20:46 -05:00
XANTRONIX Development
710b5ef069 Getting a little better at this whole refactoring endeavor 2024-03-01 00:20:46 -05:00
XANTRONIX Development
d2e278f715 Massive refactoring afoot 2024-03-01 00:20:46 -05:00
XANTRONIX Development
fa3f4a2e0e Start of massive refactor 2024-03-01 00:20:46 -05:00
XANTRONIX Development
0f37a37775 Better prototypes; better config 2024-03-01 00:20:46 -05:00
XANTRONIX Development
7eb8babd21 Initial commit of examples/patty.conf 2024-03-01 00:20:46 -05:00
XANTRONIX Development
3927f1b343 Initial implementation of new headers 2024-03-01 00:20:46 -05:00
XANTRONIX Development
2162512896 Whitespace 2024-03-01 00:20:46 -05:00
XANTRONIX Development
f3d42c61f9 Implement stub patty_ax25_accept() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
12972f452a Minor stuff 2024-03-01 00:20:46 -05:00
XANTRONIX Development
aa8cd2f350 Trifling in things that matter not 2024-03-01 00:20:46 -05:00
XANTRONIX Development
548c7149fb Rework socket calls to use patty_ax25_addr 2024-03-01 00:20:46 -05:00
XANTRONIX Development
34afdba9e4 Suppress int/void* cast compiler errors 2024-03-01 00:20:46 -05:00
XANTRONIX Development
c31061c7c2 Rename unnumbered information send/receive calls 2024-03-01 00:20:46 -05:00
XANTRONIX Development
f473050461 Implement PATTY_AX25_FRAME_SIZE() macro 2024-03-01 00:20:46 -05:00
XANTRONIX Development
f67002d06d Small hacks to get rid of compiler warnings 2024-03-01 00:20:46 -05:00
XANTRONIX Development
e8bf46854a Remove that; we won't need to expose this 2024-03-01 00:20:46 -05:00
XANTRONIX Development
0decdda086 Only need one of those memcpy() around 2024-03-01 00:20:46 -05:00
XANTRONIX Development
3759469611 First successful run of src/decode.c 2024-03-01 00:20:46 -05:00
XANTRONIX Development
a8db220bbd Major refactor WIP 2024-03-01 00:20:46 -05:00
XANTRONIX Development
b5ed9e9b61 Fix patty_kiss_tnc_recv() reads less than bufsz
Fix issues with patty_kiss_tnc_recv() when read() calls return less than
the allocated buffer size
2024-03-01 00:20:46 -05:00
XANTRONIX Development
c601e836fd Implement patty_ax25_frame_addressed_to() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
f113eb4e8a Only produce hex dumps of information fields 2024-03-01 00:20:46 -05:00
XANTRONIX Development
bbbe7f8bfd Rework patty_ax25_address members as uint8_t 2024-03-01 00:20:46 -05:00
XANTRONIX Development
8ee2b32342 Initialize address in patty_ax25_address_create() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
dc6e55c49d Fix implicit declaration of ptsname_r() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
68a01bb992 Fix LLVM warnings 2024-03-01 00:20:46 -05:00
XANTRONIX Development
7188a5f194 Rename things more in line with official AX.25 spec 2024-03-01 00:20:46 -05:00
XANTRONIX Development
c3667b08a1 Fix minor AX.25 version detection issue 2024-03-01 00:20:46 -05:00
XANTRONIX Development
307a668d6d That hurt 2024-03-01 00:20:46 -05:00
XANTRONIX Development
d266058ad4 Fix patty_kiss_tnc_recv() issues
Fix patty_kiss_tnc_recv() issues with small buffers (~330 bytes) by
more properly detecting EOF being the condition at which the current
decoder offset in the buffer is equal to the last buffer read size; the
offset can never be the number of bytes read, and the initial read
length is -1, so early EOF conditions are avoided
2024-03-01 00:20:46 -05:00
XANTRONIX Development
2e0adee54e Remove _unix suffix from patty_kiss_tnc_fd_unix() 2024-03-01 00:20:46 -05:00
XANTRONIX Development
750ab452d2 Refactor patty_kiss_tnc_recv()
Refactor patty_kiss_tnc_recv() to always read a fixed number of bytes
into a circular buffer

Other changes:

    * Avoid needing memmove() per packet processed

    * Allow processing packets larger than the internal read buffer
2024-03-01 00:20:46 -05:00
XANTRONIX Development
153dc17c7b Start to whittle down src/ax25.c, include/ax25.h 2024-03-01 00:20:46 -05:00
XANTRONIX Development
66e5de9d6c Make patty_kiss_tnc_open() use default buffer size
Make patty_kiss_tnc_open() use default buffer size

Other changes:

    * Make src/decode.c no longer require a filename to use as a TNC
2024-03-01 00:20:46 -05:00
XANTRONIX Development
2eacce6f09 Remove src/buffer.c 2024-03-01 00:20:46 -05:00
XANTRONIX Development
112fca0df4 Remove unused header files
Changes:

    * Remove patty/ax25/defs.h

    * Remove patty/ax25/stats.h

    * Add forward declaration for patty_ax25 to top of patty/ax25.h

    * Rename patty_ax25_stats to patty_ax25_if_stats, move into
      patty/ax25/if.h
2024-03-01 00:20:46 -05:00
XANTRONIX Development
d44889121e Do not decode KISS frames into internal buffer
Changes:

    * Modify patty_kiss_tnc_recv() to accept a pointer to a read buffer,
      and a maximum length argument, to receive one packet

    * Modify src/decode.c to use the new patty_kiss_tnc_recv() calling
      form
2024-03-01 00:20:46 -05:00
XANTRONIX Development
e74941f714 Fix patty_kiss_tnc_send()
Fix patty_kiss_tnc_send() to ensure frames survive unmodified through
round trips of patty_kiss_tnc_send() and patty_kiss_tnc_recv() calls
2024-03-01 00:20:46 -05:00
XANTRONIX Development
54a521e8a8 Use only one write(2) call per frame start
Use only one write(2) call per frame start in src/kiss.c
2024-03-01 00:20:46 -05:00
XANTRONIX Development
d7ab08338c Implement patty_kiss_tnc_open_fd()
Implement patty_kiss_tnc_open_fd() to create a TNC object for an
existing Unix file descriptor
2024-03-01 00:20:46 -05:00
XANTRONIX Development
ede262397b Refactor patty_kiss_tnc_recv()
Refactor patty_kiss_tnc_recv() to be much more compact and correct;
ensure the KISS command byte is absolutely required, and that
consecutive frame end markers are handled without error
2024-03-01 00:20:46 -05:00
XANTRONIX Development
06fe62ed7b Go through more effort to show packet types 2024-03-01 00:20:46 -05:00
XANTRONIX Development
361059c549 Use PATTY_KISS_BUFSZ macro in src/decode.c 2024-03-01 00:20:46 -05:00