Walt, we need to talk

This commit is contained in:
XANTRONIX Development 2015-07-29 22:38:29 -05:00 committed by XANTRONIX Industrial
parent ff76e77336
commit 13cfe03cbe
4 changed files with 11 additions and 47 deletions

View file

@ -59,6 +59,8 @@ struct _patty_ax25 {
patty_list * ifaces;
patty_list * socks;
fd_set unix_fds;
patty_dict * fd_lookup;
int fd;
};

View file

@ -34,8 +34,6 @@ patty_ax25_if *patty_ax25_if_create(int opts, void *info);
void patty_ax25_if_destroy(patty_ax25_if *iface);
patty_kiss_tnc *patty_ax25_if_tnc(patty_ax25_if *iface);
int patty_ax25_if_each_address(patty_ax25_if *iface,
int (*callback)(patty_ax25_address *, void *), void *ctx);

View file

@ -188,47 +188,6 @@ error_fd_lookup:
return -1;
}
static int event_fd_set(patty_ax25 *ax25, fd_set *set) {
patty_list_iterator *ifaces;
patty_ax25_if *iface;
FD_ZERO(set);
if ((ifaces = patty_list_start(ax25->ifaces)) == NULL) {
goto error_list_start;
}
while ((iface = patty_list_next(ifaces)) != NULL) {
patty_kiss_tnc *tnc;
int fd;
if ((tnc = patty_ax25_if_tnc(iface)) == NULL) {
goto error_if_tnc;
}
if ((fd = patty_kiss_tnc_fd_unix(tnc)) < 0) {
goto error_kiss_tnc_fd_unix;
}
FD_SET(fd, set);
}
patty_list_finish(ifaces);
return 0;
error_kiss_tnc_fd_unix:
error_if_tnc:
patty_list_finish(ifaces);
error_list_start:
return -1;
}
int patty_ax25_next_event(patty_ax25 *ax25, enum patty_ax25_event *ev) {
fd_set fds;
event_fd_set(ax25, &fds);
return 0;
}

View file

@ -79,10 +79,6 @@ void patty_ax25_if_destroy(patty_ax25_if *iface) {
}
}
patty_kiss_tnc *patty_ax25_if_tnc(patty_ax25_if *iface) {
return iface->tnc;
}
int patty_ax25_if_each_address(patty_ax25_if *iface, int (*callback)(patty_ax25_address *, void *), void *ctx) {
patty_list_iterator *iter;
patty_ax25_address *address;
@ -240,13 +236,22 @@ error_list_start:
}
int patty_ax25_add_if(patty_ax25 *ax25, patty_ax25_if *iface) {
int fd;
if ((fd = patty_kiss_tnc_fd_unix(iface->tnc)) < 0) {
goto error_kiss_tnc_fd_unix;
}
if (patty_list_append(ax25->ifaces, iface) == NULL) {
goto error_list_append;
}
FD_SET(fd, &ax25->unix_fds);
return 0;
error_list_append:
error_kiss_tnc_fd_unix:
return -1;
}