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
This commit is contained in:
XANTRONIX Development 2020-07-26 02:26:12 -04:00 committed by XANTRONIX Industrial
parent 7b25597e6e
commit 1bd93e3bcc
3 changed files with 17 additions and 11 deletions

View file

@ -121,13 +121,16 @@ ssize_t patty_ax25_sock_resend(patty_ax25_sock *sock,
unsigned int seq); unsigned int seq);
ssize_t patty_ax25_sock_send_rr(patty_ax25_sock *sock, 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, 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, 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, ssize_t patty_ax25_sock_send_srej(patty_ax25_sock *sock,
enum patty_ax25_frame_cr cr); enum patty_ax25_frame_cr cr);

View file

@ -1295,7 +1295,7 @@ static int handle_i(patty_ax25_server *server,
patty_ax25_sock_seq_recv_incr(sock); patty_ax25_sock_seq_recv_incr(sock);
} else { } else {
return frame->pf? 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) { if (write(sock->fd, frame->info, frame->infolen) < 0) {
@ -1303,7 +1303,7 @@ static int handle_i(patty_ax25_server *server,
} }
return frame->pf? 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: error_write:
return -1; return -1;

View file

@ -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, 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, return patty_ax25_sock_send(sock,
cr, cr,
control_s(sock, PATTY_AX25_FRAME_RR, 1), control_s(sock, PATTY_AX25_FRAME_RR, 1),
NULL, NULL,
0); pf);
} }
ssize_t patty_ax25_sock_send_rnr(patty_ax25_sock *sock, 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, return patty_ax25_sock_send(sock,
cr, cr,
control_s(sock, PATTY_AX25_FRAME_RNR, 1), control_s(sock, PATTY_AX25_FRAME_RNR, 1),
NULL, NULL,
0); pf);
} }
ssize_t patty_ax25_sock_send_rej(patty_ax25_sock *sock, 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, return patty_ax25_sock_send(sock,
cr, cr,
control_s(sock, PATTY_AX25_FRAME_REJ, 1), control_s(sock, PATTY_AX25_FRAME_REJ, 1),
NULL, NULL,
0); pf);
} }
ssize_t patty_ax25_sock_send_srej(patty_ax25_sock *sock, ssize_t patty_ax25_sock_send_srej(patty_ax25_sock *sock,