diff --git a/src/include/lib3270.h b/src/include/lib3270.h
index a4e7e33..3902b0d 100644
--- a/src/include/lib3270.h
+++ b/src/include/lib3270.h
@@ -565,6 +565,25 @@
*/
LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 *h, void *parm);
+
+ /**
+ * Run main iteration.
+ *
+ * Run lib3270 internal iterations, check for network inputs, process signals.
+ *
+ * @param wait Wait for signal if not available.
+ *
+ */
+ LIB3270_EXPORT void lib3270_main_iterate(int wait);
+
+ /**
+ * Wait for "N" seconds keeping main loop active.
+ *
+ * @param seconds Number of seconds to wait.
+ *
+ */
+ LIB3270_EXPORT int lib3270_wait(int seconds);
+
/**
* Get the session's widget.
*
diff --git a/src/lib3270/XtGlue.c b/src/lib3270/XtGlue.c
index 53413c6..5cd91c4 100644
--- a/src/lib3270/XtGlue.c
+++ b/src/lib3270/XtGlue.c
@@ -970,13 +970,13 @@ LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 *
return rc;
}
-void RunPendingEvents(int wait)
+LIB3270_EXPORT void lib3270_main_iterate(int wait)
{
if(callbacks->RunPendingEvents)
callbacks->RunPendingEvents(wait);
}
-int Wait(int seconds)
+LIB3270_EXPORT int lib3270_wait(seconds)
{
time_t end;
@@ -988,7 +988,7 @@ int Wait(int seconds)
while(time(0) < end)
{
- RunPendingEvents(1);
+ lib3270_main_iterate(1);
}
return 0;
diff --git a/src/lib3270/api.h b/src/lib3270/api.h
index 3b7912f..3b7fd74 100644
--- a/src/lib3270/api.h
+++ b/src/lib3270/api.h
@@ -431,11 +431,11 @@
#define Toggled(ix) lib3270_get_toggle(NULL,ix)
#define CallAndWait(c,h,p) lib3270_call_thread(c,h,p)
- LOCAL_EXTERN void RunPendingEvents(int wait);
- LOCAL_EXTERN int Wait(int seconds);
+// #define RunPendingEvents(x) lib3270_main_iterate(x)
+// #define Wait(s) lib3270_wait(x)
- LOCAL_EXTERN int ctlr_get_cols(void) __attribute__ ((deprecated));
- LOCAL_EXTERN int ctlr_get_rows(void) __attribute__ ((deprecated));
+// LOCAL_EXTERN int ctlr_get_cols(void) __attribute__ ((deprecated));
+// LOCAL_EXTERN int ctlr_get_rows(void) __attribute__ ((deprecated));
/* Screen calls */
LOCAL_EXTERN void screen_resume(H3270 *session);
diff --git a/src/lib3270/host.c b/src/lib3270/host.c
index e773f72..68b835d 100644
--- a/src/lib3270/host.c
+++ b/src/lib3270/host.c
@@ -618,7 +618,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait)
CHECK_SESSION_HANDLE(h);
- RunPendingEvents(0);
+ lib3270_main_iterate(0);
if(h->auto_reconnect_inprogress)
return EAGAIN;
@@ -634,7 +634,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait)
{
while(!IN_ANSI && !IN_3270)
{
- RunPendingEvents(1);
+ lib3270_main_iterate(1);
if(!PCONNECTED)
{
diff --git a/src/lib3270/lib3270.cbp b/src/lib3270/lib3270.cbp
index 27fac0b..0f891c7 100644
--- a/src/lib3270/lib3270.cbp
+++ b/src/lib3270/lib3270.cbp
@@ -7,20 +7,22 @@
-
-
-
+
+
+
-
-
+
+
+
+
-
-
+
+
@@ -33,8 +35,8 @@
-
-
+
+
@@ -51,10 +53,11 @@
-
-
+
+
-
+
+
@@ -68,6 +71,7 @@
+
@@ -165,6 +169,9 @@
+
+
+
@@ -181,9 +188,9 @@
-
+
--
libgit2 0.21.2