From 1bd93e3bcc979024ab7c4c6674ddd8773a5a8cfd Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Sun, 26 Jul 2020 02:26:12 -0400 Subject: [PATCH] Make functions sending RR, RNR, REJ take P/F flag Changes: * Make patty_ax25_sock_send_rr() accept a P/F flag value * Make patty_ax25_sock_send_rnr() accept a P/F flag value * Make patty_ax25_sock_send_rej() accept a P/F flag value --- include/patty/ax25/sock.h | 9 ++++++--- src/server.c | 4 ++-- src/sock.c | 15 +++++++++------ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/include/patty/ax25/sock.h b/include/patty/ax25/sock.h index a66ed1f..52ada80 100644 --- a/include/patty/ax25/sock.h +++ b/include/patty/ax25/sock.h @@ -121,13 +121,16 @@ ssize_t patty_ax25_sock_resend(patty_ax25_sock *sock, unsigned int seq); ssize_t patty_ax25_sock_send_rr(patty_ax25_sock *sock, - enum patty_ax25_frame_cr cr); + enum patty_ax25_frame_cr cr, + int pf); ssize_t patty_ax25_sock_send_rnr(patty_ax25_sock *sock, - enum patty_ax25_frame_cr cr); + enum patty_ax25_frame_cr cr, + int pf); ssize_t patty_ax25_sock_send_rej(patty_ax25_sock *sock, - enum patty_ax25_frame_cr cr); + enum patty_ax25_frame_cr cr, + int pf); ssize_t patty_ax25_sock_send_srej(patty_ax25_sock *sock, enum patty_ax25_frame_cr cr); diff --git a/src/server.c b/src/server.c index 33fadf1..ad7c3a0 100644 --- a/src/server.c +++ b/src/server.c @@ -1295,7 +1295,7 @@ static int handle_i(patty_ax25_server *server, patty_ax25_sock_seq_recv_incr(sock); } else { return frame->pf? - patty_ax25_sock_send_rej(sock, PATTY_AX25_FRAME_RESPONSE): 0; + patty_ax25_sock_send_rej(sock, PATTY_AX25_FRAME_RESPONSE, 0): 0; } if (write(sock->fd, frame->info, frame->infolen) < 0) { @@ -1303,7 +1303,7 @@ static int handle_i(patty_ax25_server *server, } return frame->pf? - patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_RESPONSE): 0; + patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_RESPONSE, 0): 0; error_write: return -1; diff --git a/src/sock.c b/src/sock.c index af1d1bd..d2a0719 100644 --- a/src/sock.c +++ b/src/sock.c @@ -486,30 +486,33 @@ static uint16_t control_u(enum patty_ax25_frame_type type, } ssize_t patty_ax25_sock_send_rr(patty_ax25_sock *sock, - enum patty_ax25_frame_cr cr) { + enum patty_ax25_frame_cr cr, + int pf) { return patty_ax25_sock_send(sock, cr, control_s(sock, PATTY_AX25_FRAME_RR, 1), NULL, - 0); + pf); } ssize_t patty_ax25_sock_send_rnr(patty_ax25_sock *sock, - enum patty_ax25_frame_cr cr) { + enum patty_ax25_frame_cr cr, + int pf) { return patty_ax25_sock_send(sock, cr, control_s(sock, PATTY_AX25_FRAME_RNR, 1), NULL, - 0); + pf); } ssize_t patty_ax25_sock_send_rej(patty_ax25_sock *sock, - enum patty_ax25_frame_cr cr) { + enum patty_ax25_frame_cr cr, + int pf) { return patty_ax25_sock_send(sock, cr, control_s(sock, PATTY_AX25_FRAME_REJ, 1), NULL, - 0); + pf); } ssize_t patty_ax25_sock_send_srej(patty_ax25_sock *sock,