Commit c5e8900674ca976a90cfc75b916180c04ac8e628
1 parent
509952b6
Exists in
master
and in
3 other branches
Implementando temporização pelas funções do java
Showing
2 changed files
with
62 additions
and
38 deletions
Show diff stats
iocalls.c
@@ -614,6 +614,16 @@ void remove_input_calls(H3270 *session) | @@ -614,6 +614,16 @@ void remove_input_calls(H3270 *session) | ||
614 | } | 614 | } |
615 | } | 615 | } |
616 | 616 | ||
617 | +LIB3270_EXPORT void lib3270_register_time_handlers(void * (*add)(unsigned long interval_ms, H3270 *session, void (*proc)(H3270 *session)), void (*rm)(void *timer)) | ||
618 | +{ | ||
619 | + if(add) | ||
620 | + add_timeout = add; | ||
621 | + | ||
622 | + if(rm) | ||
623 | + remove_timeout = rm; | ||
624 | + | ||
625 | +} | ||
626 | + | ||
617 | LIB3270_EXPORT int lib3270_register_handlers(const struct lib3270_callbacks *cbk) | 627 | LIB3270_EXPORT int lib3270_register_handlers(const struct lib3270_callbacks *cbk) |
618 | { | 628 | { |
619 | if(!cbk) | 629 | if(!cbk) |
@@ -622,11 +632,7 @@ LIB3270_EXPORT int lib3270_register_handlers(const struct lib3270_callbacks *cbk | @@ -622,11 +632,7 @@ LIB3270_EXPORT int lib3270_register_handlers(const struct lib3270_callbacks *cbk | ||
622 | if(cbk->sz != sizeof(struct lib3270_callbacks)) | 632 | if(cbk->sz != sizeof(struct lib3270_callbacks)) |
623 | return EINVAL; | 633 | return EINVAL; |
624 | 634 | ||
625 | - if(cbk->AddTimeOut) | ||
626 | - add_timeout = cbk->AddTimeOut; | ||
627 | - | ||
628 | - if(cbk->RemoveTimeOut) | ||
629 | - remove_timeout = cbk->RemoveTimeOut; | 635 | + lib3270_register_time_handlers(cbk->AddTimeOut,cbk->RemoveTimeOut); |
630 | 636 | ||
631 | if(cbk->AddInput) | 637 | if(cbk->AddInput) |
632 | add_input = cbk->AddInput; | 638 | add_input = cbk->AddInput; |
kybdc.h
@@ -19,39 +19,57 @@ | @@ -19,39 +19,57 @@ | ||
19 | 19 | ||
20 | #ifndef KYBDC_H_INCLUDED | 20 | #ifndef KYBDC_H_INCLUDED |
21 | 21 | ||
22 | -#define KYBDC_H_INCLUDED | ||
23 | - | ||
24 | -/* keyboard lock states */ | ||
25 | -// LIB3270_INTERNAL unsigned int kybdlock; | ||
26 | -#define KL_OERR_MASK 0x000f | ||
27 | -#define KL_OERR_PROTECTED 1 | ||
28 | -#define KL_OERR_NUMERIC 2 | ||
29 | -#define KL_OERR_OVERFLOW 3 | ||
30 | -#define KL_OERR_DBCS 4 | ||
31 | -#define KL_NOT_CONNECTED 0x0010 | ||
32 | -#define KL_AWAITING_FIRST 0x0020 | ||
33 | -#define KL_OIA_TWAIT 0x0040 | ||
34 | -#define KL_OIA_LOCKED 0x0080 | ||
35 | -#define KL_DEFERRED_UNLOCK 0x0100 | ||
36 | -#define KL_ENTER_INHIBIT 0x0200 | ||
37 | -#define KL_SCROLLED 0x0400 | ||
38 | -#define KL_OIA_MINUS 0x0800 | ||
39 | - | ||
40 | - | ||
41 | -/* other functions */ | ||
42 | -LIB3270_INTERNAL void add_xk(KeySym key, KeySym assoc); | ||
43 | -LIB3270_INTERNAL void clear_xks(void); | ||
44 | -LIB3270_INTERNAL void do_reset(H3270 *session, Boolean explicit); | ||
45 | -LIB3270_INTERNAL void hex_input(char *s); | ||
46 | -LIB3270_INTERNAL void kybdlock_clr(H3270 *session, unsigned int bits, const char *cause); | ||
47 | -LIB3270_INTERNAL void kybd_inhibit(H3270 *session, Boolean inhibit); | ||
48 | -LIB3270_INTERNAL void kybd_init(void); | ||
49 | -LIB3270_INTERNAL int kybd_prime(void); | ||
50 | -LIB3270_INTERNAL void kybd_scroll_lock(Boolean lock); | ||
51 | -LIB3270_INTERNAL Boolean run_ta(void); | ||
52 | -LIB3270_INTERNAL int state_from_keymap(char keymap[32]); | ||
53 | -LIB3270_INTERNAL void kybd_connect(H3270 *session, int connected, void *dunno); | ||
54 | -LIB3270_INTERNAL void kybd_in3270(H3270 *session, int in3270 unused, void *dunno); | 22 | + #define KYBDC_H_INCLUDED |
23 | + | ||
24 | + /* keyboard lock states */ | ||
25 | + typedef enum lib3270_kl_state | ||
26 | + { | ||
27 | + LIB3270_KL_OERR_MASK = 0x000f, | ||
28 | + LIB3270_KL_OERR_PROTECTED = 0x0001, | ||
29 | + LIB3270_KL_OERR_NUMERIC = 0x0002, | ||
30 | + LIB3270_KL_OERR_OVERFLOW = 0x0003, | ||
31 | + LIB3270_KL_OERR_DBCS = 0x0004, | ||
32 | + LIB3270_KL_NOT_CONNECTED = 0x0010, | ||
33 | + LIB3270_KL_AWAITING_FIRST = 0x0020, | ||
34 | + LIB3270_KL_OIA_TWAIT = 0x0040, | ||
35 | + LIB3270_KL_OIA_LOCKED = 0x0080, | ||
36 | + LIB3270_KL_DEFERRED_UNLOCK = 0x0100, | ||
37 | + LIB3270_KL_ENTER_INHIBIT = 0x0200, | ||
38 | + LIB3270_KL_SCROLLED = 0x0400, | ||
39 | + LIB3270_KL_OIA_MINUS = 0x0800 | ||
40 | + | ||
41 | + } LIB3270_KL_STATE; | ||
42 | + | ||
43 | + #define KL_OERR_MASK LIB3270_KL_OERR_MASK | ||
44 | + #define KL_OERR_PROTECTED LIB3270_KL_OERR_PROTECTED | ||
45 | + #define KL_OERR_NUMERIC LIB3270_KL_OERR_NUMERIC | ||
46 | + #define KL_OERR_OVERFLOW LIB3270_KL_OERR_OVERFLOW | ||
47 | + #define KL_OERR_DBCS LIB3270_KL_OERR_DBCS | ||
48 | + #define KL_NOT_CONNECTED LIB3270_KL_NOT_CONNECTED | ||
49 | + #define KL_AWAITING_FIRST LIB3270_KL_AWAITING_FIRST | ||
50 | + #define KL_OIA_TWAIT LIB3270_KL_OIA_TWAIT | ||
51 | + #define KL_OIA_LOCKED LIB3270_KL_OIA_LOCKED | ||
52 | + #define KL_DEFERRED_UNLOCK LIB3270_KL_DEFERRED_UNLOCK | ||
53 | + #define KL_ENTER_INHIBIT LIB3270_KL_ENTER_INHIBIT | ||
54 | + #define KL_SCROLLED LIB3270_KL_SCROLLED | ||
55 | + #define KL_OIA_MINUS LIB3270_KL_OIA_MINUS | ||
56 | + | ||
57 | + | ||
58 | + | ||
59 | + /* other functions */ | ||
60 | + LIB3270_INTERNAL void add_xk(KeySym key, KeySym assoc); | ||
61 | + LIB3270_INTERNAL void clear_xks(void); | ||
62 | + LIB3270_INTERNAL void do_reset(H3270 *session, Boolean explicit); | ||
63 | + LIB3270_INTERNAL void hex_input(char *s); | ||
64 | + LIB3270_INTERNAL void kybdlock_clr(H3270 *session, unsigned int bits, const char *cause); | ||
65 | + LIB3270_INTERNAL void kybd_inhibit(H3270 *session, Boolean inhibit); | ||
66 | + LIB3270_INTERNAL void kybd_init(void); | ||
67 | + LIB3270_INTERNAL int kybd_prime(void); | ||
68 | + LIB3270_INTERNAL void kybd_scroll_lock(Boolean lock); | ||
69 | + LIB3270_INTERNAL Boolean run_ta(void); | ||
70 | + LIB3270_INTERNAL int state_from_keymap(char keymap[32]); | ||
71 | + LIB3270_INTERNAL void kybd_connect(H3270 *session, int connected, void *dunno); | ||
72 | + LIB3270_INTERNAL void kybd_in3270(H3270 *session, int in3270 unused, void *dunno); | ||
55 | 73 | ||
56 | 74 | ||
57 | #endif /* KYBDC_H_INCLUDED */ | 75 | #endif /* KYBDC_H_INCLUDED */ |