From c15748bc7a608ef307b525bd4ffceab06ab4b1ba Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Thu, 20 Nov 2014 01:42:28 +0000 Subject: [PATCH] Melhorando compatibilidade com a libwebsockets --- src/include/lib3270.h | 4 ++-- src/lib3270/iocalls.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/include/lib3270.h b/src/include/lib3270.h index 0217e75..e3c99f6 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -670,8 +670,8 @@ LIB3270_EXPORT void * lib3270_add_poll_fd(H3270 *session, int fd, LIB3270_IO_FLAG flag, void(*call)(H3270 *, int, LIB3270_IO_FLAG, void *), void *userdata ); LIB3270_EXPORT void lib3270_remove_poll(void *id); -// LIB3270_EXPORT void lib3270_remove_poll_fd(int fd); -// LIB3270_EXPORT void lib3270_update_poll_fd(int fd, LIB3270_IO_FLAG flag); + LIB3270_EXPORT void lib3270_remove_poll_fd(int fd); + LIB3270_EXPORT void lib3270_update_poll_fd(int fd, LIB3270_IO_FLAG flag); /** Callback table * diff --git a/src/lib3270/iocalls.c b/src/lib3270/iocalls.c index 528d8df..ef4f663 100644 --- a/src/lib3270/iocalls.c +++ b/src/lib3270/iocalls.c @@ -285,6 +285,43 @@ LIB3270_EXPORT void lib3270_remove_poll(void *id) { remove_poll(id); } +LIB3270_EXPORT void lib3270_remove_poll_fd(int fd) +{ + + input_t *ip; + + for (ip = inputs; ip != (input_t *)NULL; ip = ip->next) + { + if(ip->fd == fd) + { + remove_poll(ip); + return; + } + } + + lib3270_write_log(NULL,"iocalls","Invalid or unexpected FD on %s(%d)",__FUNCTION__,fd); + +} + +LIB3270_EXPORT void lib3270_update_poll_fd(int fd, LIB3270_IO_FLAG flag) +{ + + input_t *ip; + + for (ip = inputs; ip != (input_t *)NULL; ip = ip->next) + { + if(ip->fd == fd) + { + ip->flag = flag; + return; + } + } + + lib3270_write_log(NULL,"iocalls","Invalid or unexpected FD on %s(%d)",__FUNCTION__,fd); + +} + + LIB3270_EXPORT void * lib3270_add_poll_fd(H3270 *session, int fd, LIB3270_IO_FLAG flag, void(*call)(H3270 *, int, LIB3270_IO_FLAG, void *), void *userdata ) { return add_poll(session,fd,flag,call,userdata); } -- libgit2 0.21.2