Commit 7c9366e02cde91e44863bfb0f5c6894a13464012
1 parent
68350b48
Exists in
master
Mais chamadas de toggle receberam a estrutura de sessão como argumento
Showing
13 changed files
with
80 additions
and
64 deletions
Show diff stats
latest/src/gtk2/screen.c
... | ... | @@ -78,7 +78,7 @@ |
78 | 78 | static void warning(const char *fmt, va_list arg); |
79 | 79 | static void syserror(const char *title, const char *message, const char *system); |
80 | 80 | static int init(void); |
81 | - static void update_toggle(int ix, int value, int reason, const char *name); | |
81 | + static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name); | |
82 | 82 | static void redraw(void); |
83 | 83 | static gchar * convert_monocase(int c, gsize *sz); |
84 | 84 | static gchar * convert_regular(int c, gsize *sz); |
... | ... | @@ -126,7 +126,7 @@ |
126 | 126 | NULL, // void (*set_viewsize)(unsigned short rows, unsigned short cols); |
127 | 127 | #endif |
128 | 128 | |
129 | - update_toggle, // void (*toggle_changed)(int ix, int value, int reason, const char *name); | |
129 | + update_toggle, // void (*toggle_changed)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name); | |
130 | 130 | oia_set_timer, // void (*show_timer)(long seconds); |
131 | 131 | |
132 | 132 | gui_console_window_new, // HCONSOLE (*console_new)(const char *title, const char *label); |
... | ... | @@ -734,7 +734,7 @@ |
734 | 734 | return 0; |
735 | 735 | } |
736 | 736 | |
737 | - void update_toggle(int ix, int value, int reason, const char *name) | |
737 | + void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name) | |
738 | 738 | { |
739 | 739 | update_3270_toggle_action(ix, value); |
740 | 740 | } | ... | ... |
latest/src/include/lib3270.h
... | ... | @@ -148,7 +148,7 @@ |
148 | 148 | LIB3270_MESSAGE_DISCONNECTED, /**< Disconnected from host */ |
149 | 149 | LIB3270_MESSAGE_AWAITING_FIRST, |
150 | 150 | LIB3270_MESSAGE_MINUS, |
151 | - LIB3270_MESSAGE_PROTECTED c | |
151 | + LIB3270_MESSAGE_PROTECTED, | |
152 | 152 | LIB3270_MESSAGE_NUMERIC, |
153 | 153 | LIB3270_MESSAGE_OVERFLOW, |
154 | 154 | LIB3270_MESSAGE_INHIBIT, |
... | ... | @@ -381,6 +381,18 @@ |
381 | 381 | LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *h, LIB3270_TOGGLE ix); |
382 | 382 | |
383 | 383 | /** |
384 | + * Set toggle state. | |
385 | + * | |
386 | + * @param h Session handle. | |
387 | + * @param ix Toggle id. | |
388 | + * @param value New toggle state (non zero for true). | |
389 | + * | |
390 | + * @return 0 if the toggle wasn't changed, non zero if it was changed. | |
391 | + * | |
392 | + */ | |
393 | + LIB3270_EXPORT int lib3270_set_toggle(H3270 *h, LIB3270_TOGGLE ix, int value); | |
394 | + | |
395 | + /** | |
384 | 396 | * Check if the active connection is secure. |
385 | 397 | * |
386 | 398 | * @param h Session handle. | ... | ... |
latest/src/include/lib3270/api.h
... | ... | @@ -269,6 +269,7 @@ |
269 | 269 | void (*changed)(H3270 *session, int bstart, int bend); |
270 | 270 | void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col); |
271 | 271 | void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on); |
272 | + | |
272 | 273 | void (*set_timer)(H3270 *session, unsigned char on); |
273 | 274 | void (*update_luname)(H3270 *session, const char *name); |
274 | 275 | void (*update_status)(H3270 *session, LIB3270_STATUS id); |
... | ... | @@ -511,7 +512,7 @@ |
511 | 512 | void (*set_viewsize)(H3270 *session, unsigned short rows, unsigned short cols); |
512 | 513 | |
513 | 514 | |
514 | - void (*toggle_changed)(int ix, int value, int reason, const char *name); | |
515 | + void (*toggle_changed)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name); | |
515 | 516 | void (*show_timer)(long seconds); |
516 | 517 | |
517 | 518 | // Console/Trace window | ... | ... |
latest/src/include/lib3270/toggle.h
... | ... | @@ -69,9 +69,9 @@ |
69 | 69 | |
70 | 70 | |
71 | 71 | #define register_3270_toggle_monitor(ix,callback) lib3270_register_tchange(NULL,ix,callback) |
72 | - // LIB3270_EXPORT void register_3270_toggle_monitor(LIB3270_TOGGLE_ID ix, void (*callback)(int value, LIB3270_TOGGLE_TYPE reason)); | |
73 | 72 | |
74 | - LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix); | |
73 | + // LIB3270_EXPORT void register_3270_toggle_monitor(LIB3270_TOGGLE_ID ix, void (*callback)(int value, LIB3270_TOGGLE_TYPE reason)); | |
74 | +// LIB3270_EXPORT int lib3270_toggle(H3270 *session, LIB3270_TOGGLE_ID ix); | |
75 | 75 | |
76 | 76 | LIB3270_EXPORT int set_3270_toggle(LIB3270_TOGGLE_ID ix, int value); |
77 | 77 | |
... | ... | @@ -85,7 +85,7 @@ |
85 | 85 | #define do_toggle(ix) lib3270_toggle(NULL,ix) |
86 | 86 | |
87 | 87 | #define get_toggle_name(ix) get_3270_toggle_name(ix) |
88 | - #define set_toggle(ix,value) set_3270_toggle(ix,value) | |
88 | + #define set_toggle(ix,value) lib3270_set_toggle(NULL,ix,value) | |
89 | 89 | #define get_toggle_by_name(name) get_3270_toggle_by_name(name) |
90 | 90 | |
91 | 91 | #endif /* TOGGLE3270_H_INCLUDED */ | ... | ... |
latest/src/lib/appres.h
... | ... | @@ -26,20 +26,17 @@ |
26 | 26 | |
27 | 27 | struct toggle { |
28 | 28 | char value; /* toggle value */ |
29 | - char changed; /* has the value changed since init */ | |
29 | +// char changed; /* has the value changed since init */ | |
30 | 30 | // Widget w[2]; /* the menu item widgets */ |
31 | 31 | // const char *label[2]; /* labels */ |
32 | - void (*upcall)(struct toggle *, LIB3270_TOGGLE_TYPE); /* change value */ | |
33 | - | |
34 | -#if defined(LIB3270) | |
32 | + void (*upcall)(H3270 *, struct toggle *, LIB3270_TOGGLE_TYPE); /* change value */ | |
35 | 33 | void (*callback)(H3270 *, int, LIB3270_TOGGLE_TYPE); |
36 | -#endif | |
37 | 34 | |
38 | 35 | }; |
39 | 36 | |
40 | 37 | #define toggled(ix) (appres.toggle[ix].value) |
41 | 38 | #define toggle_toggle(t) \ |
42 | - { (t)->value = !(t)->value; (t)->changed = True; } | |
39 | + { (t)->value = !(t)->value; } | |
43 | 40 | |
44 | 41 | /* Application resources */ |
45 | 42 | ... | ... |
latest/src/lib/ctlr.c
... | ... | @@ -2820,19 +2820,20 @@ static void ticking_stop(H3270 *session) |
2820 | 2820 | } |
2821 | 2821 | } |
2822 | 2822 | |
2823 | -void | |
2824 | -toggle_showTiming(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused) | |
2823 | +/* | |
2824 | +void toggle_showTiming(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused) | |
2825 | 2825 | { |
2826 | 2826 | if (!toggled(SHOW_TIMING)) |
2827 | 2827 | status_untiming(&h3270); |
2828 | 2828 | } |
2829 | +*/ | |
2829 | 2830 | |
2830 | 2831 | |
2831 | 2832 | /* |
2832 | 2833 | * No-op toggle. |
2833 | 2834 | */ |
2834 | 2835 | void |
2835 | -toggle_nop(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused) | |
2836 | +toggle_nop(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt unused) | |
2836 | 2837 | { |
2837 | 2838 | } |
2838 | 2839 | ... | ... |
latest/src/lib/ctlrc.h
... | ... | @@ -62,7 +62,7 @@ LIB3270_INTERNAL void ctlr_set_rows_cols(H3270 *session, int mn, int ovc, int ov |
62 | 62 | LIB3270_INTERNAL void ctlr_erase(H3270 *session, int alt); |
63 | 63 | |
64 | 64 | LIB3270_INTERNAL void ticking_start(H3270 *session, Boolean anyway); |
65 | -LIB3270_INTERNAL void toggle_nop(struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
65 | +LIB3270_INTERNAL void toggle_nop(H3270 *session, struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
66 | 66 | LIB3270_INTERNAL void toggle_showTiming(struct toggle *t, LIB3270_TOGGLE_TYPE tt); |
67 | 67 | |
68 | 68 | enum dbcs_state { | ... | ... |
latest/src/lib/glue.c
... | ... | @@ -145,7 +145,25 @@ const char *toggle_names[N_TOGGLES] = |
145 | 145 | |
146 | 146 | void lib3270_session_free(H3270 *h) |
147 | 147 | { |
148 | + int f; | |
149 | + | |
150 | + // Terminate session | |
151 | + if(lib3270_connected(h)) | |
152 | + lib3270_disconnect(h); | |
153 | + | |
148 | 154 | shutdown_toggles(h,appres.toggle); |
155 | + | |
156 | + // Release state change callbacks | |
157 | + for(f=0;f<N_ST;f++) | |
158 | + { | |
159 | + while(h->st_callbacks[f]) | |
160 | + { | |
161 | + struct lib3270_state_callback *next = h->st_callbacks[f]->next; | |
162 | + Free(h->st_callbacks[f]); | |
163 | + h->st_callbacks[f] = next; | |
164 | + } | |
165 | + } | |
166 | + | |
149 | 167 | } |
150 | 168 | |
151 | 169 | void lib3270_session_init(H3270 *hSession, const char *model) | ... | ... |
latest/src/lib/screen.c
... | ... | @@ -793,11 +793,10 @@ void Error(const char *fmt, ...) |
793 | 793 | |
794 | 794 | } |
795 | 795 | |
796 | -#if defined(LIB3270) | |
797 | -void notify_toggle_changed(int ix, int value, int reason) | |
796 | +void notify_toggle_changed(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason) | |
798 | 797 | { |
799 | 798 | if(callbacks && callbacks->toggle_changed) |
800 | - callbacks->toggle_changed(ix,value,reason,toggle_names[ix]); | |
799 | + callbacks->toggle_changed(session,ix,value,reason,toggle_names[ix]); | |
801 | 800 | } |
802 | 801 | |
803 | 802 | LIB3270_EXPORT void update_toggle_actions(void) |
... | ... | @@ -807,10 +806,9 @@ LIB3270_EXPORT void update_toggle_actions(void) |
807 | 806 | if(callbacks && callbacks->toggle_changed) |
808 | 807 | { |
809 | 808 | for(f=0;f< N_TOGGLES;f++) |
810 | - callbacks->toggle_changed(f,appres.toggle[f].value,TT_UPDATE,toggle_names[f]); | |
809 | + callbacks->toggle_changed(&h3270,f,appres.toggle[f].value,TT_UPDATE,toggle_names[f]); | |
811 | 810 | } |
812 | 811 | } |
813 | -#endif | |
814 | 812 | |
815 | 813 | void Warning(const char *fmt, ...) |
816 | 814 | { | ... | ... |
latest/src/lib/screenc.h
... | ... | @@ -43,7 +43,7 @@ LIB3270_INTERNAL void mcursor_set(H3270 *session,LIB3270_CURSOR m); |
43 | 43 | //LIB3270_INTERNAL void mcursor_normal(H3270 *session); |
44 | 44 | //LIB3270_INTERNAL void mcursor_waiting(H3270 *session); |
45 | 45 | |
46 | -LIB3270_INTERNAL void notify_toggle_changed(int ix, int value, int reason); | |
46 | +LIB3270_INTERNAL void notify_toggle_changed(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason); | |
47 | 47 | LIB3270_INTERNAL void set_viewsize(H3270 *session, int rows, int cols); |
48 | 48 | |
49 | 49 | LIB3270_INTERNAL Boolean escaped; | ... | ... |
latest/src/lib/toggles.c
... | ... | @@ -96,7 +96,7 @@ LIB3270_EXPORT unsigned char lib3270_get_toggle(H3270 *session, LIB3270_TOGGLE i |
96 | 96 | /* |
97 | 97 | * Generic toggle stuff |
98 | 98 | */ |
99 | -static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE_ID ix, LIB3270_TOGGLE_TYPE reason) | |
99 | +static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE ix, LIB3270_TOGGLE_TYPE reason) | |
100 | 100 | { |
101 | 101 | struct toggle *t = &appres.toggle[ix]; |
102 | 102 | |
... | ... | @@ -105,32 +105,22 @@ static void do_toggle_reason(H3270 *session, LIB3270_TOGGLE_ID ix, LIB3270_TOGGL |
105 | 105 | * menu label(s). |
106 | 106 | */ |
107 | 107 | toggle_toggle(t); |
108 | - t->upcall(t, reason); | |
109 | - | |
110 | -//#if defined(X3270_MENUS) /*[*/ | |
111 | -// menubar_retoggle(t); | |
112 | -//#endif /*]*/ | |
108 | + t->upcall(session, t, reason); | |
113 | 109 | |
114 | 110 | t->callback(session,t->value, (int) reason); |
115 | - notify_toggle_changed(ix, t->value, reason); | |
111 | + | |
112 | + notify_toggle_changed(session, ix, t->value, reason); | |
116 | 113 | |
117 | 114 | } |
118 | 115 | |
119 | -/** | |
120 | - * Set 3270 toggle state. | |
121 | - * | |
122 | - * @param ix Toggle to set. | |
123 | - * @param value New toggle state (non zero for true). | |
124 | - * | |
125 | - * @return 0 if the toggle wasn't changed, non zero if it was changed. | |
126 | - * | |
127 | - */ | |
128 | -LIB3270_EXPORT int set_toggle(LIB3270_TOGGLE_ID ix, int value) | |
116 | +LIB3270_EXPORT int lib3270_set_toggle(H3270 *session, LIB3270_TOGGLE ix, int value) | |
129 | 117 | { |
130 | 118 | Boolean v = ((Boolean) (value != 0)); // Convert int in Boolean |
131 | 119 | |
132 | 120 | struct toggle *t; |
133 | 121 | |
122 | + CHECK_SESSION_HANDLE(session); | |
123 | + | |
134 | 124 | if(ix < 0 || ix >= LIB3270_TOGGLE_COUNT) |
135 | 125 | return 0; |
136 | 126 | |
... | ... | @@ -139,7 +129,7 @@ LIB3270_EXPORT int set_toggle(LIB3270_TOGGLE_ID ix, int value) |
139 | 129 | if(t->value == v) |
140 | 130 | return 0; |
141 | 131 | |
142 | - do_toggle_reason(&h3270, ix, TT_INTERACTIVE); | |
132 | + do_toggle_reason(session, ix, TT_INTERACTIVE); | |
143 | 133 | |
144 | 134 | return -1; |
145 | 135 | } |
... | ... | @@ -181,13 +171,13 @@ void initialize_toggles(H3270 *session, struct toggle *toggle) |
181 | 171 | |
182 | 172 | #if defined(X3270_TRACE) |
183 | 173 | if(toggle[DS_TRACE].value) |
184 | - toggle[DS_TRACE].upcall(&toggle[DS_TRACE],TT_INITIAL); | |
174 | + toggle[DS_TRACE].upcall(session, &toggle[DS_TRACE],TT_INITIAL); | |
185 | 175 | |
186 | 176 | if(toggle[EVENT_TRACE].value) |
187 | - toggle[EVENT_TRACE].upcall(&toggle[EVENT_TRACE],TT_INITIAL); | |
177 | + toggle[EVENT_TRACE].upcall(session, &toggle[EVENT_TRACE],TT_INITIAL); | |
188 | 178 | |
189 | 179 | if(toggle[SCREEN_TRACE].value) |
190 | - toggle[SCREEN_TRACE].upcall(&toggle[SCREEN_TRACE],TT_INITIAL); | |
180 | + toggle[SCREEN_TRACE].upcall(session, &toggle[SCREEN_TRACE],TT_INITIAL); | |
191 | 181 | #endif |
192 | 182 | |
193 | 183 | #if defined(DEFAULT_TOGGLE_CURSOR_POS) |
... | ... | @@ -210,20 +200,20 @@ void shutdown_toggles(H3270 *session, struct toggle *toggle) |
210 | 200 | if(toggle[DS_TRACE].value) |
211 | 201 | { |
212 | 202 | toggle[DS_TRACE].value = False; |
213 | - toggle_dsTrace(&toggle[DS_TRACE], TT_FINAL); | |
203 | + toggle_dsTrace(session, &toggle[DS_TRACE], TT_FINAL); | |
214 | 204 | } |
215 | 205 | |
216 | 206 | if(toggle[EVENT_TRACE].value) |
217 | 207 | { |
218 | 208 | toggle[EVENT_TRACE].value = False; |
219 | - toggle_dsTrace(&toggle[EVENT_TRACE], TT_FINAL); | |
209 | + toggle_dsTrace(session, &toggle[EVENT_TRACE], TT_FINAL); | |
220 | 210 | } |
221 | 211 | |
222 | 212 | // Clean up the screen trace file. |
223 | 213 | if (toggle[SCREEN_TRACE].value) |
224 | 214 | { |
225 | 215 | toggle[SCREEN_TRACE].value = False; |
226 | - toggle_screenTrace(&toggle[SCREEN_TRACE], TT_FINAL); | |
216 | + toggle_screenTrace(session, &toggle[SCREEN_TRACE], TT_FINAL); | |
227 | 217 | } |
228 | 218 | #endif |
229 | 219 | } | ... | ... |
latest/src/lib/trace_ds.c
... | ... | @@ -622,7 +622,7 @@ static void tracefile_callback(Widget w, XtPointer client_data, XtPointer call_d |
622 | 622 | |
623 | 623 | /* We're really tracing, turn the flag on. */ |
624 | 624 | appres.toggle[trace_reason].value = True; |
625 | - appres.toggle[trace_reason].changed = True; | |
625 | +// appres.toggle[trace_reason].changed = True; | |
626 | 626 | menubar_retoggle(&appres.toggle[trace_reason]); |
627 | 627 | |
628 | 628 | /* Display current status. */ |
... | ... | @@ -745,7 +745,7 @@ static void tracefile_off(void) |
745 | 745 | stop_tracing(); |
746 | 746 | } |
747 | 747 | |
748 | -void toggle_dsTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) | |
748 | +void toggle_dsTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) | |
749 | 749 | { |
750 | 750 | /* If turning on trace and no trace file, open one. */ |
751 | 751 | |
... | ... | @@ -761,8 +761,7 @@ void toggle_dsTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) |
761 | 761 | (void) gettimeofday(&ds_ts, (struct timezone *)NULL); |
762 | 762 | } |
763 | 763 | |
764 | -void | |
765 | -toggle_eventTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) | |
764 | +void toggle_eventTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) | |
766 | 765 | { |
767 | 766 | /* If turning on event debug, and no trace file, open one. */ |
768 | 767 | |
... | ... | @@ -857,13 +856,14 @@ screentrace_cb(char *tfn) |
857 | 856 | |
858 | 857 | /* We're really tracing, turn the flag on. */ |
859 | 858 | appres.toggle[SCREEN_TRACE].value = True; |
860 | - appres.toggle[SCREEN_TRACE].changed = True; | |
859 | +// appres.toggle[SCREEN_TRACE].changed = True; | |
861 | 860 | menubar_retoggle(&appres.toggle[SCREEN_TRACE]); |
862 | 861 | return True; |
863 | 862 | } |
864 | 863 | |
865 | -#if defined(X3270_DISPLAY) /*[*/ | |
866 | -/* Callback for "OK" button on screentrace popup */ | |
864 | +/* | |
865 | +#if defined(X3270_DISPLAY) | |
866 | +// Callback for "OK" button on screentrace popup | |
867 | 867 | static void |
868 | 868 | screentrace_callback(Widget w unused, XtPointer client_data, |
869 | 869 | XtPointer call_data unused) |
... | ... | @@ -872,7 +872,7 @@ screentrace_callback(Widget w unused, XtPointer client_data, |
872 | 872 | XtPopdown(screentrace_shell); |
873 | 873 | } |
874 | 874 | |
875 | -/* Callback for second "OK" button on screentrace popup */ | |
875 | +// Callback for second "OK" button on screentrace popup | |
876 | 876 | static void |
877 | 877 | onescreen_callback(Widget w, XtPointer client_data, XtPointer call_data unused) |
878 | 878 | { |
... | ... | @@ -892,20 +892,19 @@ onescreen_callback(Widget w, XtPointer client_data, XtPointer call_data unused) |
892 | 892 | (void) fcntl(fileno(screentracef), F_SETFD, 1); |
893 | 893 | XtFree(tfn); |
894 | 894 | |
895 | - /* Save the current image, once. */ | |
895 | + // Save the current image, once. | |
896 | 896 | do_screentrace(); |
897 | 897 | |
898 | - /* Close the file, we're done. */ | |
898 | + // Close the file, we're done. | |
899 | 899 | (void) fclose(screentracef); |
900 | 900 | screentracef = (FILE *)NULL; |
901 | 901 | |
902 | 902 | if (w) |
903 | 903 | XtPopdown(screentrace_shell); |
904 | 904 | } |
905 | -#endif /*]*/ | |
905 | +#endif */ | |
906 | 906 | |
907 | -void | |
908 | -toggle_screenTrace(struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) | |
907 | +void toggle_screenTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) | |
909 | 908 | { |
910 | 909 | char *tracefile_buf = NULL; |
911 | 910 | char *tracefile; | ... | ... |
latest/src/lib/trace_dsc.h
... | ... | @@ -22,9 +22,9 @@ |
22 | 22 | LIB3270_INTERNAL Boolean trace_skipping; |
23 | 23 | |
24 | 24 | const char *rcba(int baddr); |
25 | -void toggle_dsTrace(struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
26 | -void toggle_eventTrace(struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
27 | -void toggle_screenTrace(struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
25 | +void toggle_dsTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
26 | +void toggle_eventTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
27 | +void toggle_screenTrace(H3270 *h, struct toggle *t, LIB3270_TOGGLE_TYPE tt); | |
28 | 28 | void trace_ansi_disc(void); |
29 | 29 | void trace_char(char c); |
30 | 30 | void trace_ds(const char *fmt, ...) printflike(1, 2); | ... | ... |