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:
parent
7b25597e6e
commit
1bd93e3bcc
3 changed files with 17 additions and 11 deletions
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
15
src/sock.c
15
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,
|
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,
|
||||||
|
|
Loading…
Add table
Reference in a new issue