diff --git a/src/kiss.c b/src/kiss.c index 89a0138..1726333 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -75,3 +75,44 @@ ssize_t patty_kiss_read(int fd, void *buf, size_t len, int *port) { error_io: return -1; } + +ssize_t patty_kiss_write(int fd, const void *buf, size_t len, int port) { + size_t i; + + unsigned char escape_fend[2] = { PATTY_KISS_FESC, PATTY_KISS_TFEND }; + unsigned char escape_fesc[2] = { PATTY_KISS_FESC, PATTY_KISS_TFESC }; + + unsigned char command = (port & 0x0f) << 4; + + if (write(fd, &command, 1) < 0) { + goto error_io; + } + + for (i=0; i