Commit ac822686e0074f263426c15943b752f6540b418d

Authored by perry.werneck@gmail.com
1 parent 3f7ea0a5

Ajustando biblioteca para geração da jni android

@@ -1706,10 +1706,9 @@ trace_pending_mb(void) @@ -1706,10 +1706,9 @@ trace_pending_mb(void)
1706 * External entry points 1706 * External entry points
1707 */ 1707 */
1708 1708
1709 -void  
1710 -ansi_init(void) 1709 +void ansi_init(void)
1711 { 1710 {
1712 - register_schange(ST_3270_MODE, ansi_in3270); 1711 + lib3270_register_schange(NULL,LIB3270_STATE_3270_MODE,ansi_in3270,NULL);
1713 } 1712 }
1714 1713
1715 void 1714 void
@@ -1723,7 +1722,7 @@ ansi_process(unsigned int c) @@ -1723,7 +1722,7 @@ ansi_process(unsigned int c)
1723 // scroll_to_bottom(); 1722 // scroll_to_bottom();
1724 1723
1725 #if defined(X3270_TRACE) /*[*/ 1724 #if defined(X3270_TRACE) /*[*/
1726 - if (toggled(SCREEN_TRACE)) 1725 + if (lib3270_get_toggle(&h3270,SCREEN_TRACE))
1727 trace_char((char)c); 1726 trace_char((char)c);
1728 #endif /*]*/ 1727 #endif /*]*/
1729 1728
@@ -1827,7 +1826,7 @@ ansi_send_pa(int nn) @@ -1827,7 +1826,7 @@ ansi_send_pa(int nn)
1827 1826
1828 void toggle_lineWrap(H3270 *session, struct lib3270_toggle *t unused, LIB3270_TOGGLE_TYPE type unused) 1827 void toggle_lineWrap(H3270 *session, struct lib3270_toggle *t unused, LIB3270_TOGGLE_TYPE type unused)
1829 { 1828 {
1830 - if (toggled(LIB3270_TOGGLE_LINE_WRAP)) 1829 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_LINE_WRAP))
1831 wraparound_mode = 1; 1830 wraparound_mode = 1;
1832 else 1831 else
1833 wraparound_mode = 0; 1832 wraparound_mode = 0;
@@ -114,8 +114,8 @@ @@ -114,8 +114,8 @@
114 114
115 #define ST_RESOLVING LIB3270_STATE_RESOLVING 115 #define ST_RESOLVING LIB3270_STATE_RESOLVING
116 #define ST_HALF_CONNECT LIB3270_STATE_HALF_CONNECT 116 #define ST_HALF_CONNECT LIB3270_STATE_HALF_CONNECT
117 - #define ST_CONNECT LIB3270_STATE_CONNECT  
118 - #define ST_3270_MODE LIB3270_STATE_3270_MODE 117 +// #define ST_CONNECT LIB3270_STATE_CONNECT
  118 +// #define ST_3270_MODE LIB3270_STATE_3270_MODE
119 #define ST_LINE_MODE LIB3270_STATE_LINE_MODE 119 #define ST_LINE_MODE LIB3270_STATE_LINE_MODE
120 #define ST_REMODEL LIB3270_STATE_REMODEL 120 #define ST_REMODEL LIB3270_STATE_REMODEL
121 #define ST_PRINTER LIB3270_STATE_PRINTER 121 #define ST_PRINTER LIB3270_STATE_PRINTER
@@ -159,7 +159,7 @@ @@ -159,7 +159,7 @@
159 #define OIA_FLAG_UNDERA LIB3270_FLAG_UNDERA 159 #define OIA_FLAG_UNDERA LIB3270_FLAG_UNDERA
160 // #define OIA_FLAG_SECURE LIB3270_FLAG_SECURE 160 // #define OIA_FLAG_SECURE LIB3270_FLAG_SECURE
161 #define OIA_FLAG_TYPEAHEAD LIB3270_FLAG_TYPEAHEAD 161 #define OIA_FLAG_TYPEAHEAD LIB3270_FLAG_TYPEAHEAD
162 - #define OIA_FLAG_PRINTER LIB3270_FLAG_PRINTER 162 +// #define OIA_FLAG_PRINTER LIB3270_FLAG_PRINTER
163 #define OIA_FLAG_REVERSE LIB3270_FLAG_REVERSE 163 #define OIA_FLAG_REVERSE LIB3270_FLAG_REVERSE
164 #define OIA_FLAG_USER LIB3270_FLAG_COUNT 164 #define OIA_FLAG_USER LIB3270_FLAG_COUNT
165 #define OIA_FLAG LIB3270_FLAG 165 #define OIA_FLAG LIB3270_FLAG
@@ -382,7 +382,7 @@ @@ -382,7 +382,7 @@
382 382
383 LOCAL_EXTERN SCRIPT_STATE status_script(SCRIPT_STATE state); 383 LOCAL_EXTERN SCRIPT_STATE status_script(SCRIPT_STATE state);
384 384
385 - #define Toggled(ix) lib3270_get_toggle(NULL,ix) 385 +// #define Toggled(ix) lib3270_get_toggle(NULL,ix)
386 // #define CallAndWait(c,h,p) lib3270_call_thread(c,h,p) 386 // #define CallAndWait(c,h,p) lib3270_call_thread(c,h,p)
387 387
388 // #define RunPendingEvents(x) lib3270_main_iterate(x) 388 // #define RunPendingEvents(x) lib3270_main_iterate(x)
@@ -401,7 +401,7 @@ @@ -401,7 +401,7 @@
401 #define host_connect(n,wait) lib3270_connect(NULL,n,wait) 401 #define host_connect(n,wait) lib3270_connect(NULL,n,wait)
402 #define host_reconnect(w) lib3270_reconnect(NULL,w) 402 #define host_reconnect(w) lib3270_reconnect(NULL,w)
403 403
404 - #define register_schange(tx,func) lib3270_register_schange(NULL,tx,func,NULL) 404 +// #define register_schange(tx,func) lib3270_register_schange(NULL,tx,func,NULL)
405 405
406 /* Console/Trace window */ 406 /* Console/Trace window */
407 // LOCAL_EXTERN HCONSOLE console_window_new(const char *title, const char *label); 407 // LOCAL_EXTERN HCONSOLE console_window_new(const char *title, const char *label);
@@ -80,24 +80,24 @@ typedef struct { @@ -80,24 +80,24 @@ typedef struct {
80 // char curses_keypad; 80 // char curses_keypad;
81 // char cbreak_mode; 81 // char cbreak_mode;
82 //#endif /*]*/ 82 //#endif /*]*/
83 - char apl_mode; 83 +// char apl_mode;
84 // char scripted; 84 // char scripted;
85 - char numeric_lock;  
86 - char secure;  
87 - char oerr_lock;  
88 - char typeahead; 85 +// char numeric_lock;
  86 +// char secure;
  87 +// char oerr_lock;
  88 +// char typeahead;
89 char debug_tracing; 89 char debug_tracing;
90 char disconnect_clear; 90 char disconnect_clear;
91 char highlight_bold; 91 char highlight_bold;
92 - char color8;  
93 - char bsd_tm;  
94 - char unlock_delay;  
95 -#if defined(X3270_SCRIPT) /*[*/  
96 - char socket;  
97 -#endif /*]*/  
98 -#if defined(C3270) && defined(_WIN32) /*[*/  
99 - char highlight_underline;  
100 -#endif /*]*/ 92 +// char color8;
  93 +// char bsd_tm;
  94 +// char unlock_delay;
  95 +// #if defined(X3270_SCRIPT) /*[*/
  96 +// char socket;
  97 +// #endif /*]*/
  98 +// #if defined(C3270) && defined(_WIN32) /*[*/
  99 +// char highlight_underline;
  100 +//#endif /*]*/
101 101
102 /* Named resources */ 102 /* Named resources */
103 /* 103 /*
@@ -108,7 +108,7 @@ typedef struct { @@ -108,7 +108,7 @@ typedef struct {
108 #if defined(X3270_DISPLAY) || defined(C3270) 108 #if defined(X3270_DISPLAY) || defined(C3270)
109 // char *key_map; 109 // char *key_map;
110 char *compose_map; 110 char *compose_map;
111 - char *printer_lu; 111 +// char *printer_lu;
112 #endif 112 #endif
113 /* 113 /*
114 #if defined(X3270_DISPLAY) 114 #if defined(X3270_DISPLAY)
@@ -148,10 +148,10 @@ typedef struct { @@ -148,10 +148,10 @@ typedef struct {
148 char *conf_dir; 148 char *conf_dir;
149 char *model; 149 char *model;
150 // char *hostsfile; 150 // char *hostsfile;
151 - char *port; 151 +// char *port;
152 char *charset; 152 char *charset;
153 - char *termname;  
154 - char *login_macro; 153 +// char *termname;
  154 +// char *login_macro;
155 char *macros; 155 char *macros;
156 #if defined(X3270_TRACE) /*[*/ 156 #if defined(X3270_TRACE) /*[*/
157 #if !defined(_WIN32) /*[*/ 157 #if !defined(_WIN32) /*[*/
@@ -186,7 +186,7 @@ typedef struct { @@ -186,7 +186,7 @@ typedef struct {
186 #if defined(HAVE_LIBSSL) /*[*/ 186 #if defined(HAVE_LIBSSL) /*[*/
187 char *cert_file; 187 char *cert_file;
188 #endif /*]*/ 188 #endif /*]*/
189 - char *proxy; 189 +// char *proxy;
190 190
191 /* Toggles */ 191 /* Toggles */
192 // struct toggle toggle[N_TOGGLES]; 192 // struct toggle toggle[N_TOGGLES];
@@ -198,8 +198,10 @@ typedef struct { @@ -198,8 +198,10 @@ typedef struct {
198 Cursor locked_mcursor; 198 Cursor locked_mcursor;
199 #endif 199 #endif
200 */ 200 */
201 -#if defined(X3270_ANSI) /*[*/  
202 - /* Line-mode TTY parameters */ 201 +
  202 +/*
  203 +#if defined(X3270_ANSI)
  204 + // Line-mode TTY parameters
203 char icrnl; 205 char icrnl;
204 char inlcr; 206 char inlcr;
205 char onlcr; 207 char onlcr;
@@ -211,11 +213,12 @@ typedef struct { @@ -211,11 +213,12 @@ typedef struct {
211 char *intr; 213 char *intr;
212 char *quit; 214 char *quit;
213 char *eof; 215 char *eof;
214 -#endif /*]*/  
215 -  
216 -#if defined(WC3270) /*[*/  
217 - char *hostname;  
218 #endif 216 #endif
  217 +*/
  218 +
  219 +// #if defined(WC3270) /*[*/
  220 +// char *hostname;
  221 +// #endif
219 222
220 /* 223 /*
221 #if defined(WC3270) 224 #if defined(WC3270)
@@ -150,8 +150,8 @@ void ctlr_init(H3270 *session, unsigned cmask unused) @@ -150,8 +150,8 @@ void ctlr_init(H3270 *session, unsigned cmask unused)
150 { 150 {
151 /* Register callback routines. */ 151 /* Register callback routines. */
152 lib3270_register_schange(session,ST_HALF_CONNECT, ctlr_half_connect, 0); 152 lib3270_register_schange(session,ST_HALF_CONNECT, ctlr_half_connect, 0);
153 - lib3270_register_schange(session,ST_CONNECT, ctlr_connect, 0);  
154 - lib3270_register_schange(session,ST_3270_MODE, ctlr_connect, 0); 153 + lib3270_register_schange(session,LIB3270_STATE_CONNECT, ctlr_connect, 0);
  154 + lib3270_register_schange(session,LIB3270_STATE_3270_MODE, ctlr_connect, 0);
155 } 155 }
156 /* 156 /*
157 * Reinitialize the emulated 3270 hardware. 157 * Reinitialize the emulated 3270 hardware.
@@ -2320,7 +2320,7 @@ ctlr_clear(H3270 *session, Boolean can_snap) @@ -2320,7 +2320,7 @@ ctlr_clear(H3270 *session, Boolean can_snap)
2320 /* Snap any data that is about to be lost into the trace file. */ 2320 /* Snap any data that is about to be lost into the trace file. */
2321 if (ctlr_any_data()) { 2321 if (ctlr_any_data()) {
2322 #if defined(X3270_TRACE) /*[*/ 2322 #if defined(X3270_TRACE) /*[*/
2323 - if (can_snap && !trace_skipping && toggled(SCREEN_TRACE)) 2323 + if (can_snap && !trace_skipping && lib3270_get_toggle(session,SCREEN_TRACE))
2324 trace_screen(); 2324 trace_screen();
2325 #endif /*]*/ 2325 #endif /*]*/
2326 // scroll_save(session->maxROWS, ever_3270 ? False : True); 2326 // scroll_save(session->maxROWS, ever_3270 ? False : True);
@@ -2379,7 +2379,7 @@ void ctlr_add(int baddr, unsigned char c, unsigned char cs) @@ -2379,7 +2379,7 @@ void ctlr_add(int baddr, unsigned char c, unsigned char cs)
2379 if (trace_primed && !IsBlank(oc)) 2379 if (trace_primed && !IsBlank(oc))
2380 { 2380 {
2381 #if defined(X3270_TRACE) /*[*/ 2381 #if defined(X3270_TRACE) /*[*/
2382 - if (toggled(SCREEN_TRACE)) 2382 + if (lib3270_get_toggle(&h3270,SCREEN_TRACE))
2383 trace_screen(); 2383 trace_screen();
2384 #endif /*]*/ 2384 #endif /*]*/
2385 trace_primed = False; 2385 trace_primed = False;
@@ -2739,7 +2739,7 @@ void ticking_start(H3270 *session, Boolean anyway) @@ -2739,7 +2739,7 @@ void ticking_start(H3270 *session, Boolean anyway)
2739 2739
2740 if(session->set_timer) 2740 if(session->set_timer)
2741 { 2741 {
2742 - if(toggled(SHOW_TIMING) || anyway) 2742 + if(lib3270_get_toggle(&h3270,SHOW_TIMING) || anyway)
2743 session->set_timer(session,1); 2743 session->set_timer(session,1);
2744 } 2744 }
2745 else 2745 else
@@ -2748,7 +2748,7 @@ void ticking_start(H3270 *session, Boolean anyway) @@ -2748,7 +2748,7 @@ void ticking_start(H3270 *session, Boolean anyway)
2748 2748
2749 mticking = True; 2749 mticking = True;
2750 2750
2751 - if (!toggled(SHOW_TIMING) && !anyway) 2751 + if (!lib3270_get_toggle(&h3270,SHOW_TIMING) && !anyway)
2752 return; 2752 return;
2753 2753
2754 status_untiming(session); 2754 status_untiming(session);
@@ -114,8 +114,8 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state); @@ -114,8 +114,8 @@ static void set_ft_state(H3270FT *session, LIB3270_FT_STATE state);
114 void ft_init(H3270 *session) 114 void ft_init(H3270 *session)
115 { 115 {
116 /* Register for state changes. */ 116 /* Register for state changes. */
117 - lib3270_register_schange(session, ST_CONNECT, ( void (*)(H3270 *, int, void *)) ft_connected, NULL);  
118 - lib3270_register_schange(session, ST_3270_MODE, ( void (*)(H3270 *, int, void *)) ft_in3270, NULL); 117 + lib3270_register_schange(session, LIB3270_STATE_CONNECT, ( void (*)(H3270 *, int, void *)) ft_connected, NULL);
  118 + lib3270_register_schange(session, LIB3270_STATE_3270_MODE, ( void (*)(H3270 *, int, void *)) ft_in3270, NULL);
119 } 119 }
120 120
121 // enum ft_state QueryFTstate(void) 121 // enum ft_state QueryFTstate(void)
@@ -307,22 +307,6 @@ LIB3270_INTERNAL struct trans_list *trans_list; @@ -307,22 +307,6 @@ LIB3270_INTERNAL struct trans_list *trans_list;
307 /* input key type */ 307 /* input key type */
308 // enum keytype { KT_STD, KT_GE }; 308 // enum keytype { KT_STD, KT_GE };
309 309
310 -/* state changes */ /*  
311 -enum state_change  
312 -{  
313 - ST_RESOLVING,  
314 - ST_HALF_CONNECT,  
315 - ST_CONNECT,  
316 - ST_3270_MODE,  
317 - ST_LINE_MODE,  
318 - ST_REMODEL,  
319 - ST_PRINTER,  
320 - ST_EXITING,  
321 - ST_CHARSET,  
322 -  
323 - N_ST // Always the last one  
324 -}; */  
325 -  
326 /* Naming convention for private actions. */ 310 /* Naming convention for private actions. */
327 #define PA_PFX "PA-" 311 #define PA_PFX "PA-"
328 312
@@ -141,7 +141,7 @@ static void initialize(void) @@ -141,7 +141,7 @@ static void initialize(void)
141 #endif /*]*/ 141 #endif /*]*/
142 142
143 // appres.modified_sel = False; 143 // appres.modified_sel = False;
144 - appres.apl_mode = False; 144 +// appres.apl_mode = False;
145 145
146 /* 146 /*
147 #if defined(C3270) || defined(TCL3270) 147 #if defined(C3270) || defined(TCL3270)
@@ -151,16 +151,16 @@ static void initialize(void) @@ -151,16 +151,16 @@ static void initialize(void)
151 #endif 151 #endif
152 */ 152 */
153 153
154 - appres.numeric_lock = False; 154 +// appres.numeric_lock = False;
155 // appres.secure = False; 155 // appres.secure = False;
156 156
157 #if defined(C3270) /*[*/ 157 #if defined(C3270) /*[*/
158 - appres.oerr_lock = True; 158 +// appres.oerr_lock = True;
159 #else /*][*/ 159 #else /*][*/
160 - appres.oerr_lock = False; 160 +// appres.oerr_lock = False;
161 #endif /*]*/ 161 #endif /*]*/
162 162
163 - appres.typeahead = True; 163 +// appres.typeahead = True;
164 appres.debug_tracing = True; 164 appres.debug_tracing = True;
165 165
166 #if defined(C3270) /*[*/ 166 #if defined(C3270) /*[*/
@@ -169,7 +169,7 @@ static void initialize(void) @@ -169,7 +169,7 @@ static void initialize(void)
169 169
170 appres.model = ""; 170 appres.model = "";
171 // appres.hostsfile = CN; 171 // appres.hostsfile = CN;
172 - appres.port = "telnet"; 172 +// appres.port = "telnet";
173 173
174 #if !defined(_WIN32) /*[*/ 174 #if !defined(_WIN32) /*[*/
175 appres.charset = "bracket"; 175 appres.charset = "bracket";
@@ -181,7 +181,7 @@ static void initialize(void) @@ -181,7 +181,7 @@ static void initialize(void)
181 appres.charset = "bracket437"; 181 appres.charset = "bracket437";
182 #endif /*]*/ 182 #endif /*]*/
183 183
184 - appres.termname = CN; 184 +// appres.termname = CN;
185 appres.macros = CN; 185 appres.macros = CN;
186 186
187 #if defined(X3270_TRACE) /*[*/ 187 #if defined(X3270_TRACE) /*[*/
@@ -206,21 +206,21 @@ static void initialize(void) @@ -206,21 +206,21 @@ static void initialize(void)
206 // appres.cbreak_mode = False; 206 // appres.cbreak_mode = False;
207 #endif /*]*/ 207 #endif /*]*/
208 208
209 -#if defined(X3270_ANSI) /*[*/  
210 - appres.icrnl = True;  
211 - appres.inlcr = False;  
212 - appres.onlcr = True;  
213 - appres.erase = "^H";  
214 - appres.kill = "^U";  
215 - appres.werase = "^W";  
216 - appres.rprnt = "^R";  
217 - appres.lnext = "^V";  
218 - appres.intr = "^C";  
219 - appres.quit = "^\\";  
220 - appres.eof = "^D"; 209 +#if defined(X3270_ANSI)
  210 +// appres.icrnl = True;
  211 +// appres.inlcr = False;
  212 +// appres.onlcr = True;
  213 +// appres.erase = "^H";
  214 +// appres.kill = "^U";
  215 +// appres.werase = "^W";
  216 +// appres.rprnt = "^R";
  217 +// appres.lnext = "^V";
  218 +// appres.intr = "^C";
  219 +// appres.quit = "^\\";
  220 +// appres.eof = "^D";
221 #endif /*]*/ 221 #endif /*]*/
222 222
223 - appres.unlock_delay = True; 223 +// appres.unlock_delay = True;
224 224
225 #if defined(X3270_FT) /*[*/ 225 #if defined(X3270_FT) /*[*/
226 appres.dft_buffer_size = DFT_BUF; 226 appres.dft_buffer_size = DFT_BUF;
@@ -296,7 +296,7 @@ static const struct lib3270_option options[] = @@ -296,7 +296,7 @@ static const struct lib3270_option options[] =
296 // { OptAllBold, OPT_BOOLEAN, True, ResAllBold, offset(all_bold_on), NULL }, 296 // { OptAllBold, OPT_BOOLEAN, True, ResAllBold, offset(all_bold_on), NULL },
297 // { OptAltScreen,OPT_STRING, False, ResAltScreen, offset(altscreen), NULL }, 297 // { OptAltScreen,OPT_STRING, False, ResAltScreen, offset(altscreen), NULL },
298 //#endif /*]*/ 298 //#endif /*]*/
299 - { OptAplMode, OPT_BOOLEAN, True, ResAplMode, offset(apl_mode), NULL }, 299 +// { OptAplMode, OPT_BOOLEAN, True, ResAplMode, offset(apl_mode), NULL },
300 #if defined(C3270) /*[*/ 300 #if defined(C3270) /*[*/
301 // { OptCbreak, OPT_BOOLEAN, True, ResCbreak, offset(cbreak_mode), NULL }, 301 // { OptCbreak, OPT_BOOLEAN, True, ResCbreak, offset(cbreak_mode), NULL },
302 #endif /*]*/ 302 #endif /*]*/
@@ -323,11 +323,11 @@ static const struct lib3270_option options[] = @@ -323,11 +323,11 @@ static const struct lib3270_option options[] =
323 // #endif /*]*/ 323 // #endif /*]*/
324 // { OptOnce, OPT_BOOLEAN, True, ResOnce, offset(once), NULL }, 324 // { OptOnce, OPT_BOOLEAN, True, ResOnce, offset(once), NULL },
325 // { OptOversize, OPT_STRING, False, ResOversize, offset(oversize), N_( "Sets the screen dimensions to be larger than the default for the chosen model (COLSxROWS)." ) }, 325 // { OptOversize, OPT_STRING, False, ResOversize, offset(oversize), N_( "Sets the screen dimensions to be larger than the default for the chosen model (COLSxROWS)." ) },
326 - { OptPort, OPT_STRING, False, ResPort, offset(port), N_( "The name of the default TCP port to connect" ) }, 326 +// { OptPort, OPT_STRING, False, ResPort, offset(port), N_( "The name of the default TCP port to connect" ) },
327 #if defined(C3270) && !defined(LIB3270) /*[*/ 327 #if defined(C3270) && !defined(LIB3270) /*[*/
328 - { OptPrinterLu,OPT_STRING, False, ResPrinterLu, offset(printer_lu), NULL }, 328 +// { OptPrinterLu,OPT_STRING, False, ResPrinterLu, offset(printer_lu), NULL },
329 #endif /*]*/ 329 #endif /*]*/
330 - { OptProxy, OPT_STRING, False, ResProxy, offset(proxy), N_( "Proxy server (type:host[:port])" ) }, 330 +// { OptProxy, OPT_STRING, False, ResProxy, offset(proxy), N_( "Proxy server (type:host[:port])" ) },
331 #if defined(S3270) /*[*/ 331 #if defined(S3270) /*[*/
332 { OptScripted, OPT_NOP, False, ResScripted, NULL, NULL }, 332 { OptScripted, OPT_NOP, False, ResScripted, NULL, NULL },
333 #endif /*]*/ 333 #endif /*]*/
@@ -339,7 +339,7 @@ static const struct lib3270_option options[] = @@ -339,7 +339,7 @@ static const struct lib3270_option options[] =
339 { OptSocket, OPT_BOOLEAN, True, ResSocket, offset(socket), NULL }, 339 { OptSocket, OPT_BOOLEAN, True, ResSocket, offset(socket), NULL },
340 #endif /*]*/ 340 #endif /*]*/
341 341
342 - { OptTermName, OPT_STRING, False, ResTermName, offset(termname), N_( "Specifies the terminal name to be transmitted over the telnet connection." ) }, 342 +// { OptTermName, OPT_STRING, False, ResTermName, offset(termname), N_( "Specifies the terminal name to be transmitted over the telnet connection." ) },
343 343
344 #if defined(WC3270) /*[*/ 344 #if defined(WC3270) /*[*/
345 { OptTitle, OPT_STRING, False, ResTitle, offset(title), NULL }, 345 { OptTitle, OPT_STRING, False, ResTitle, offset(title), NULL },
@@ -377,17 +377,17 @@ static struct { @@ -377,17 +377,17 @@ static struct {
377 } resources[] = { 377 } resources[] = {
378 { ResAllBold, offset(all_bold), XRM_STRING }, 378 { ResAllBold, offset(all_bold), XRM_STRING },
379 // { ResAltScreen, offset(altscreen), XRM_STRING }, 379 // { ResAltScreen, offset(altscreen), XRM_STRING },
380 - { ResBsdTm, offset(bsd_tm), XRM_BOOLEAN }, 380 +// { ResBsdTm, offset(bsd_tm), XRM_BOOLEAN },
381 #if defined(HAVE_LIBSSL) /*[*/ 381 #if defined(HAVE_LIBSSL) /*[*/
382 { ResCertFile, offset(cert_file), XRM_STRING }, 382 { ResCertFile, offset(cert_file), XRM_STRING },
383 #endif /*]*/ 383 #endif /*]*/
384 { ResCharset, offset(charset), XRM_STRING }, 384 { ResCharset, offset(charset), XRM_STRING },
385 - { ResColor8, offset(color8), XRM_BOOLEAN }, 385 +// { ResColor8, offset(color8), XRM_BOOLEAN },
386 { ResConfDir, offset(conf_dir), XRM_STRING }, 386 { ResConfDir, offset(conf_dir), XRM_STRING },
387 // { ResDefScreen, offset(defscreen), XRM_STRING }, 387 // { ResDefScreen, offset(defscreen), XRM_STRING },
388 #if defined(X3270_ANSI) /*[*/ 388 #if defined(X3270_ANSI) /*[*/
389 - { ResEof, offset(eof), XRM_STRING },  
390 - { ResErase, offset(erase), XRM_STRING }, 389 +// { ResEof, offset(eof), XRM_STRING },
  390 +// { ResErase, offset(erase), XRM_STRING },
391 #endif /*]*/ 391 #endif /*]*/
392 // { ResExtended, offset(extended), XRM_BOOLEAN }, 392 // { ResExtended, offset(extended), XRM_BOOLEAN },
393 #if defined(X3270_FT) /*[*/ 393 #if defined(X3270_FT) /*[*/
@@ -399,10 +399,10 @@ static struct { @@ -399,10 +399,10 @@ static struct {
399 #endif /*]*/ 399 #endif /*]*/
400 // { ResHostsFile, offset(hostsfile), XRM_STRING }, 400 // { ResHostsFile, offset(hostsfile), XRM_STRING },
401 #if defined(X3270_ANSI) /*[*/ 401 #if defined(X3270_ANSI) /*[*/
402 - { ResIcrnl, offset(icrnl), XRM_BOOLEAN },  
403 - { ResInlcr, offset(inlcr), XRM_BOOLEAN },  
404 - { ResOnlcr, offset(onlcr), XRM_BOOLEAN },  
405 - { ResIntr, offset(intr), XRM_STRING }, 402 +// { ResIcrnl, offset(icrnl), XRM_BOOLEAN },
  403 +// { ResInlcr, offset(inlcr), XRM_BOOLEAN },
  404 +// { ResOnlcr, offset(onlcr), XRM_BOOLEAN },
  405 +// { ResIntr, offset(intr), XRM_STRING },
406 #endif /*]*/ 406 #endif /*]*/
407 #if defined(X3270_SCRIPT) /*[*/ 407 #if defined(X3270_SCRIPT) /*[*/
408 { ResPluginCommand, offset(plugin_command), XRM_STRING }, 408 { ResPluginCommand, offset(plugin_command), XRM_STRING },
@@ -422,31 +422,31 @@ static struct { @@ -422,31 +422,31 @@ static struct {
422 // { ResCbreak, offset(cbreak_mode), XRM_BOOLEAN }, 422 // { ResCbreak, offset(cbreak_mode), XRM_BOOLEAN },
423 #endif /*]*/ 423 #endif /*]*/
424 #if defined(X3270_ANSI) /*[*/ 424 #if defined(X3270_ANSI) /*[*/
425 - { ResKill, offset(kill), XRM_STRING },  
426 - { ResLnext, offset(lnext), XRM_STRING }, 425 +// { ResKill, offset(kill), XRM_STRING },
  426 +// { ResLnext, offset(lnext), XRM_STRING },
427 #endif /*]*/ 427 #endif /*]*/
428 - { ResLoginMacro,offset(login_macro), XRM_STRING }, 428 +// { ResLoginMacro,offset(login_macro), XRM_STRING },
429 // { ResM3279, offset(m3279), XRM_BOOLEAN }, 429 // { ResM3279, offset(m3279), XRM_BOOLEAN },
430 // { ResModel, offset(model), XRM_STRING }, 430 // { ResModel, offset(model), XRM_STRING },
431 // { ResModifiedSel, offset(modified_sel), XRM_BOOLEAN }, 431 // { ResModifiedSel, offset(modified_sel), XRM_BOOLEAN },
432 //#if defined(C3270) && !defined(_WIN32) /*[*/ 432 //#if defined(C3270) && !defined(_WIN32) /*[*/
433 // { ResMono, offset(mono), XRM_BOOLEAN }, 433 // { ResMono, offset(mono), XRM_BOOLEAN },
434 //#endif /*]*/ 434 //#endif /*]*/
435 - { ResNumericLock, offset(numeric_lock), XRM_BOOLEAN },  
436 - { ResOerrLock, offset(oerr_lock), XRM_BOOLEAN }, 435 +// { ResNumericLock, offset(numeric_lock), XRM_BOOLEAN },
  436 +// { ResOerrLock, offset(oerr_lock), XRM_BOOLEAN },
437 // { ResOversize, offset(oversize), XRM_STRING }, 437 // { ResOversize, offset(oversize), XRM_STRING },
438 - { ResPort, offset(port), XRM_STRING }, 438 +// { ResPort, offset(port), XRM_STRING },
439 #if defined(C3270) /*[*/ 439 #if defined(C3270) /*[*/
440 - { ResPrinterLu, offset(printer_lu), XRM_STRING }, 440 +// { ResPrinterLu, offset(printer_lu), XRM_STRING },
441 { ResPrintTextCommand, NULL, XRM_STRING }, 441 { ResPrintTextCommand, NULL, XRM_STRING },
442 #endif /*]*/ 442 #endif /*]*/
443 - { ResProxy, offset(proxy), XRM_STRING }, 443 +// { ResProxy, offset(proxy), XRM_STRING },
444 #if defined(X3270_ANSI) /*[*/ 444 #if defined(X3270_ANSI) /*[*/
445 - { ResQuit, offset(quit), XRM_STRING },  
446 - { ResRprnt, offset(rprnt), XRM_STRING }, 445 +// { ResQuit, offset(quit), XRM_STRING },
  446 +// { ResRprnt, offset(rprnt), XRM_STRING },
447 #endif /*]*/ 447 #endif /*]*/
448 // { ResSecure, offset(secure), XRM_BOOLEAN }, 448 // { ResSecure, offset(secure), XRM_BOOLEAN },
449 - { ResTermName, offset(termname), XRM_STRING }, 449 +// { ResTermName, offset(termname), XRM_STRING },
450 #if defined(WC3270) /*[*/ 450 #if defined(WC3270) /*[*/
451 { ResTitle, offset(title), XRM_STRING }, 451 { ResTitle, offset(title), XRM_STRING },
452 #endif /*]*/ 452 #endif /*]*/
@@ -460,10 +460,10 @@ static struct { @@ -460,10 +460,10 @@ static struct {
460 { ResTraceMonitor,offset(trace_monitor),XRM_BOOLEAN }, 460 { ResTraceMonitor,offset(trace_monitor),XRM_BOOLEAN },
461 #endif /*]*/ 461 #endif /*]*/
462 #endif /*]*/ 462 #endif /*]*/
463 - { ResTypeahead, offset(typeahead), XRM_BOOLEAN },  
464 - { ResUnlockDelay,offset(unlock_delay), XRM_BOOLEAN }, 463 +// { ResTypeahead, offset(typeahead), XRM_BOOLEAN },
  464 +// { ResUnlockDelay,offset(unlock_delay), XRM_BOOLEAN },
465 #if defined(X3270_ANSI) /*[*/ 465 #if defined(X3270_ANSI) /*[*/
466 - { ResWerase, offset(werase), XRM_STRING }, 466 +// { ResWerase, offset(werase), XRM_STRING },
467 #endif /*]*/ 467 #endif /*]*/
468 468
469 { CN, 0, XRM_STRING } 469 { CN, 0, XRM_STRING }
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 */ 39 */
40 40
41 #include "globals.h" 41 #include "globals.h"
42 -#include "appres.h" 42 +// #include "appres.h"
43 #include "resources.h" 43 #include "resources.h"
44 44
45 #include "actionsc.h" 45 #include "actionsc.h"
@@ -477,7 +477,7 @@ static int do_connect(H3270 *hSession, const char *n) @@ -477,7 +477,7 @@ static int do_connect(H3270 *hSession, const char *n)
477 char nb[2048]; /* name buffer */ 477 char nb[2048]; /* name buffer */
478 char *s; /* temporary */ 478 char *s; /* temporary */
479 const char *chost; /* to whom we will connect */ 479 const char *chost; /* to whom we will connect */
480 - char *ps = CN; 480 +// char *ps = CN;
481 char *port = CN; 481 char *port = CN;
482 Boolean resolving; 482 Boolean resolving;
483 Boolean pending; 483 Boolean pending;
@@ -522,7 +522,7 @@ static int do_connect(H3270 *hSession, const char *n) @@ -522,7 +522,7 @@ static int do_connect(H3270 *hSession, const char *n)
522 522
523 /* Default the port. */ 523 /* Default the port. */
524 if (port == CN) 524 if (port == CN)
525 - port = appres.port; 525 + port = "telnet";
526 } 526 }
527 527
528 /* 528 /*
@@ -566,8 +566,8 @@ static int do_connect(H3270 *hSession, const char *n) @@ -566,8 +566,8 @@ static int do_connect(H3270 *hSession, const char *n)
566 /* Success. */ 566 /* Success. */
567 567
568 /* Set pending string. */ 568 /* Set pending string. */
569 - if (ps == CN)  
570 - ps = appres.login_macro; 569 +// if (ps == CN)
  570 +// ps = appres.login_macro;
571 571
572 // if (ps != CN) 572 // if (ps != CN)
573 // login_macro(ps); 573 // login_macro(ps);
@@ -656,7 +656,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait) @@ -656,7 +656,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait)
656 static void try_reconnect(H3270 *session) 656 static void try_reconnect(H3270 *session)
657 { 657 {
658 lib3270_write_log(session,"3270","Starting auto-reconnect (Host: %s)",session->full_current_host ? session->full_current_host : "-"); 658 lib3270_write_log(session,"3270","Starting auto-reconnect (Host: %s)",session->full_current_host ? session->full_current_host : "-");
659 - session->auto_reconnect_inprogress = False; 659 + session->auto_reconnect_inprogress = 0;
660 lib3270_reconnect(session,0); 660 lib3270_reconnect(session,0);
661 } 661 }
662 662
@@ -686,11 +686,11 @@ void host_disconnect(H3270 *h, int failed) @@ -686,11 +686,11 @@ void host_disconnect(H3270 *h, int failed)
686 686
687 net_disconnect(h); 687 net_disconnect(h);
688 688
689 - Trace("Disconnected (Failed: %d Reconnect: %d in_progress: %d)",failed,toggled(RECONNECT),h->auto_reconnect_inprogress);  
690 - if (toggled(RECONNECT) && !h->auto_reconnect_inprogress) 689 + trace("Disconnected (Failed: %d Reconnect: %d in_progress: %d)",failed,lib3270_get_toggle(h,LIB3270_TOGGLE_RECONNECT),h->auto_reconnect_inprogress);
  690 + if (lib3270_get_toggle(h,LIB3270_TOGGLE_RECONNECT) && !h->auto_reconnect_inprogress)
691 { 691 {
692 /* Schedule an automatic reconnection. */ 692 /* Schedule an automatic reconnection. */
693 - h->auto_reconnect_inprogress = True; 693 + h->auto_reconnect_inprogress = 1;
694 (void) AddTimeOut(failed ? RECONNECT_ERR_MS: RECONNECT_MS, h, try_reconnect); 694 (void) AddTimeOut(failed ? RECONNECT_ERR_MS: RECONNECT_MS, h, try_reconnect);
695 } 695 }
696 696
@@ -699,7 +699,7 @@ void host_disconnect(H3270 *h, int failed) @@ -699,7 +699,7 @@ void host_disconnect(H3270 *h, int failed)
699 * in sync. 699 * in sync.
700 */ 700 */
701 #if defined(X3270_TRACE) /*[*/ 701 #if defined(X3270_TRACE) /*[*/
702 - if (IN_ANSI && toggled(SCREEN_TRACE)) 702 + if (IN_ANSI && lib3270_get_toggle(h,LIB3270_TOGGLE_SCREEN_TRACE))
703 trace_ansi_disc(); 703 trace_ansi_disc();
704 #endif /*]*/ 704 #endif /*]*/
705 705
@@ -716,13 +716,13 @@ void host_in3270(H3270 *session, LIB3270_CSTATE new_cstate) @@ -716,13 +716,13 @@ void host_in3270(H3270 *session, LIB3270_CSTATE new_cstate)
716 716
717 session->cstate = new_cstate; 717 session->cstate = new_cstate;
718 session->ever_3270 = now3270; 718 session->ever_3270 = now3270;
719 - lib3270_st_changed(session, ST_3270_MODE, now3270); 719 + lib3270_st_changed(session, LIB3270_STATE_3270_MODE, now3270);
720 } 720 }
721 721
722 void host_connected(H3270 *session) 722 void host_connected(H3270 *session)
723 { 723 {
724 session->cstate = CONNECTED_INITIAL; 724 session->cstate = CONNECTED_INITIAL;
725 - lib3270_st_changed(session, ST_CONNECT, True); 725 + lib3270_st_changed(session, LIB3270_STATE_CONNECT, True);
726 if(session->update_connect) 726 if(session->update_connect)
727 session->update_connect(session,1); 727 session->update_connect(session,1);
728 } 728 }
@@ -731,7 +731,7 @@ void host_disconnected(H3270 *session) @@ -731,7 +731,7 @@ void host_disconnected(H3270 *session)
731 { 731 {
732 session->cstate = NOT_CONNECTED; 732 session->cstate = NOT_CONNECTED;
733 set_status(session,OIA_FLAG_UNDERA,False); 733 set_status(session,OIA_FLAG_UNDERA,False);
734 - lib3270_st_changed(session,ST_CONNECT, False); 734 + lib3270_st_changed(session,LIB3270_STATE_CONNECT, False);
735 status_changed(session,LIB3270_MESSAGE_DISCONNECTED); 735 status_changed(session,LIB3270_MESSAGE_DISCONNECTED);
736 if(session->update_connect) 736 if(session->update_connect)
737 session->update_connect(session,0); 737 session->update_connect(session,0);
@@ -758,15 +758,35 @@ LIB3270_EXPORT void lib3270_register_schange(H3270 *h,LIB3270_STATE_CHANGE tx, v @@ -758,15 +758,35 @@ LIB3270_EXPORT void lib3270_register_schange(H3270 *h,LIB3270_STATE_CHANGE tx, v
758 } 758 }
759 759
760 /* Signal a state change. */ 760 /* Signal a state change. */
761 -void lib3270_st_changed(H3270 *h, int tx, int mode) 761 +void lib3270_st_changed(H3270 *h, LIB3270_STATE tx, int mode)
762 { 762 {
  763 +#if defined(DEBUG)
  764 +
  765 + static const char * state_name[LIB3270_STATE_USER] =
  766 + {
  767 + "LIB3270_STATE_RESOLVING",
  768 + "LIB3270_STATE_HALF_CONNECT",
  769 + "LIB3270_STATE_CONNECT",
  770 + "LIB3270_STATE_3270_MODE",
  771 + "LIB3270_STATE_LINE_MODE",
  772 + "LIB3270_STATE_REMODEL",
  773 + "LIB3270_STATE_PRINTER",
  774 + "LIB3270_STATE_EXITING",
  775 + "LIB3270_STATE_CHARSET",
  776 +
  777 + };
  778 +
  779 +#endif // DEBUG
  780 +
763 struct lib3270_state_callback *st; 781 struct lib3270_state_callback *st;
764 782
765 CHECK_SESSION_HANDLE(h); 783 CHECK_SESSION_HANDLE(h);
766 784
  785 + trace("%s is %d",state_name[tx],mode);
  786 +
767 for (st = h->st_callbacks[tx];st != (struct lib3270_state_callback *)NULL;st = st->next) 787 for (st = h->st_callbacks[tx];st != (struct lib3270_state_callback *)NULL;st = st->next)
768 { 788 {
769 - (*st->func)(h,mode,st->data); 789 + st->func(h,mode,st->data);
770 } 790 }
771 } 791 }
772 792
@@ -817,7 +837,7 @@ LIB3270_EXPORT int lib3270_reconnect(H3270 *h,int wait) @@ -817,7 +837,7 @@ LIB3270_EXPORT int lib3270_reconnect(H3270 *h,int wait)
817 837
818 if(rc) 838 if(rc)
819 { 839 {
820 - h->auto_reconnect_inprogress = False; 840 + h->auto_reconnect_inprogress = 0;
821 return rc; 841 return rc;
822 } 842 }
823 843
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 21
22 #define st_changed(tx,mode) lib3270_st_changed(NULL,tx,mode) 22 #define st_changed(tx,mode) lib3270_st_changed(NULL,tx,mode)
23 23
24 - LIB3270_INTERNAL void lib3270_st_changed(H3270 *h, int tx, int mode); 24 + LIB3270_INTERNAL void lib3270_st_changed(H3270 *h, LIB3270_STATE tx, int mode);
25 LIB3270_INTERNAL void host_connected(H3270 *session); 25 LIB3270_INTERNAL void host_connected(H3270 *session);
26 LIB3270_INTERNAL void host_disconnected(H3270 *session); 26 LIB3270_INTERNAL void host_disconnected(H3270 *session);
27 LIB3270_INTERNAL void host_in3270(H3270 *session, LIB3270_CSTATE); 27 LIB3270_INTERNAL void host_in3270(H3270 *session, LIB3270_CSTATE);
@@ -134,7 +134,12 @@ static void lib3270_session_init(H3270 *hSession, const char *model) @@ -134,7 +134,12 @@ static void lib3270_session_init(H3270 *hSession, const char *model)
134 hSession->sz = sizeof(H3270); 134 hSession->sz = sizeof(H3270);
135 135
136 // Set the defaults. 136 // Set the defaults.
137 - hSession->extended = 1; 137 + hSession->extended = 1;
  138 + hSession->typeahead = 1;
  139 + hSession->oerr_lock = 1;
  140 + hSession->unlock_delay = 1;
  141 + hSession->icrnl = 1;
  142 + hSession->onlcr = 1;
138 143
139 // Initialize toggles 144 // Initialize toggles
140 initialize_toggles(hSession); 145 initialize_toggles(hSession);
@@ -208,14 +213,14 @@ static void lib3270_session_init(H3270 *hSession, const char *model) @@ -208,14 +213,14 @@ static void lib3270_session_init(H3270 *hSession, const char *model)
208 } 213 }
209 ctlr_set_rows_cols(hSession, model_number, ovc, ovr); 214 ctlr_set_rows_cols(hSession, model_number, ovc, ovr);
210 215
211 - if (appres.termname != CN)  
212 - hSession->termtype = appres.termname; 216 + if (hSession->termname != CN)
  217 + hSession->termtype = hSession->termname;
213 else 218 else
214 hSession->termtype = hSession->full_model_name; 219 hSession->termtype = hSession->full_model_name;
215 220
216 Trace("Termtype: %s",hSession->termtype); 221 Trace("Termtype: %s",hSession->termtype);
217 222
218 - if (appres.apl_mode) 223 + if (hSession->apl_mode)
219 appres.charset = "apl"; 224 appres.charset = "apl";
220 225
221 } 226 }
@@ -48,7 +48,7 @@ @@ -48,7 +48,7 @@
48 48
49 #include <fcntl.h> 49 #include <fcntl.h>
50 #include "3270ds.h" 50 #include "3270ds.h"
51 -#include "appres.h" 51 +// #include "appres.h"
52 // #include "ctlr.h" 52 // #include "ctlr.h"
53 #include "resources.h" 53 #include "resources.h"
54 54
@@ -195,7 +195,7 @@ static int enq_chk(void) @@ -195,7 +195,7 @@ static int enq_chk(void)
195 } 195 }
196 196
197 /* If typeahead disabled, complain and drop it. */ 197 /* If typeahead disabled, complain and drop it. */
198 - if (!appres.typeahead) 198 + if (!h3270.typeahead)
199 { 199 {
200 trace_event(" dropped (no typeahead)\n"); 200 trace_event(" dropped (no typeahead)\n");
201 return -1; 201 return -1;
@@ -439,8 +439,8 @@ kybd_in3270(H3270 *session, int in3270 unused, void *dunno) @@ -439,8 +439,8 @@ kybd_in3270(H3270 *session, int in3270 unused, void *dunno)
439 void kybd_init(void) 439 void kybd_init(void)
440 { 440 {
441 /* Register interest in connect and disconnect events. */ 441 /* Register interest in connect and disconnect events. */
442 - register_schange(ST_CONNECT, kybd_connect);  
443 - register_schange(ST_3270_MODE, kybd_in3270); 442 + lib3270_register_schange(NULL,LIB3270_STATE_CONNECT,kybd_connect,NULL);
  443 + lib3270_register_schange(NULL,LIB3270_STATE_3270_MODE,kybd_in3270,NULL);
444 } 444 }
445 445
446 /* 446 /*
@@ -464,12 +464,15 @@ operator_error(int error_type) @@ -464,12 +464,15 @@ operator_error(int error_type)
464 // if (sms_redirect()) 464 // if (sms_redirect())
465 // popup_an_error("Keyboard locked"); 465 // popup_an_error("Keyboard locked");
466 466
467 - if(appres.oerr_lock) { // || sms_redirect()) { 467 + if(h3270.oerr_lock)
  468 + {
468 status_oerr(NULL,error_type); 469 status_oerr(NULL,error_type);
469 mcursor_locked(&h3270); 470 mcursor_locked(&h3270);
470 kybdlock_set((unsigned int)error_type, "operator_error"); 471 kybdlock_set((unsigned int)error_type, "operator_error");
471 - (void) flush_ta();  
472 - } else { 472 + flush_ta();
  473 + }
  474 + else
  475 + {
473 lib3270_ring_bell(NULL); 476 lib3270_ring_bell(NULL);
474 } 477 }
475 } 478 }
@@ -652,7 +655,7 @@ static Boolean ins_prep(int faddr, int baddr, int count) @@ -652,7 +655,7 @@ static Boolean ins_prep(int faddr, int baddr, int count)
652 while (need && (xaddr != next_faddr)) { 655 while (need && (xaddr != next_faddr)) {
653 if (h3270.ea_buf[xaddr].cc == EBC_null) 656 if (h3270.ea_buf[xaddr].cc == EBC_null)
654 need--; 657 need--;
655 - else if (toggled(LIB3270_TOGGLE_BLANK_FILL) && 658 + else if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_BLANK_FILL) &&
656 ((h3270.ea_buf[xaddr].cc == EBC_space) || 659 ((h3270.ea_buf[xaddr].cc == EBC_space) ||
657 (h3270.ea_buf[xaddr].cc == EBC_underscore))) { 660 (h3270.ea_buf[xaddr].cc == EBC_underscore))) {
658 if (tb_start == -1) 661 if (tb_start == -1)
@@ -770,7 +773,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean @@ -770,7 +773,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean
770 operator_error(KL_OERR_PROTECTED); 773 operator_error(KL_OERR_PROTECTED);
771 return False; 774 return False;
772 } 775 }
773 - if (appres.numeric_lock && FA_IS_NUMERIC(fa) && 776 + if (h3270.numeric_lock && FA_IS_NUMERIC(fa) &&
774 !((code >= EBC_0 && code <= EBC_9) || 777 !((code >= EBC_0 && code <= EBC_9) ||
775 code == EBC_minus || code == EBC_period)) { 778 code == EBC_minus || code == EBC_period)) {
776 operator_error(KL_OERR_NUMERIC); 779 operator_error(KL_OERR_NUMERIC);
@@ -795,7 +798,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean @@ -795,7 +798,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean
795 /* Add the character. */ 798 /* Add the character. */
796 if (h3270.ea_buf[baddr].cc == EBC_so) { 799 if (h3270.ea_buf[baddr].cc == EBC_so) {
797 800
798 - if (toggled(LIB3270_TOGGLE_INSERT)) { 801 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_INSERT)) {
799 if (!ins_prep(faddr, baddr, 1)) 802 if (!ins_prep(faddr, baddr, 1))
800 return False; 803 return False;
801 } else { 804 } else {
@@ -832,7 +835,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean @@ -832,7 +835,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean
832 /* fall through... */ 835 /* fall through... */
833 case DBCS_LEFT: 836 case DBCS_LEFT:
834 if (why == DBCS_ATTRIBUTE) { 837 if (why == DBCS_ATTRIBUTE) {
835 - if (toggled(LIB3270_TOGGLE_INSERT)) { 838 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_INSERT)) {
836 if (!ins_prep(faddr, baddr, 1)) 839 if (!ins_prep(faddr, baddr, 1))
837 return False; 840 return False;
838 } else { 841 } else {
@@ -849,7 +852,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean @@ -849,7 +852,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean
849 } else { 852 } else {
850 Boolean was_si; 853 Boolean was_si;
851 854
852 - if (toggled(LIB3270_TOGGLE_INSERT)) { 855 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_INSERT)) {
853 /* 856 /*
854 * Inserting SBCS into a DBCS subfield. 857 * Inserting SBCS into a DBCS subfield.
855 * If this is the first position, we 858 * If this is the first position, we
@@ -906,7 +909,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean @@ -906,7 +909,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean
906 break; 909 break;
907 default: 910 default:
908 case DBCS_NONE: 911 case DBCS_NONE:
909 - if (toggled(LIB3270_TOGGLE_INSERT) && !ins_prep(faddr, baddr, 1)) 912 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_INSERT) && !ins_prep(faddr, baddr, 1))
910 return False; 913 return False;
911 break; 914 break;
912 } 915 }
@@ -916,7 +919,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean @@ -916,7 +919,7 @@ static Boolean key_Character(int code, Boolean with_ge, Boolean pasting, Boolean
916 INC_BA(baddr); 919 INC_BA(baddr);
917 920
918 /* Replace leading nulls with blanks, if desired. */ 921 /* Replace leading nulls with blanks, if desired. */
919 - if (h3270.formatted && toggled(BLANK_FILL)) { 922 + if (h3270.formatted && lib3270_get_toggle(&h3270,LIB3270_TOGGLE_BLANK_FILL)) {
920 register int baddr_fill = baddr; 923 register int baddr_fill = baddr;
921 924
922 DEC_BA(baddr_fill); 925 DEC_BA(baddr_fill);
@@ -1047,7 +1050,7 @@ key_WCharacter(unsigned char code[], Boolean *skipped) @@ -1047,7 +1050,7 @@ key_WCharacter(unsigned char code[], Boolean *skipped)
1047 } 1050 }
1048 1051
1049 /* Numeric? */ 1052 /* Numeric? */
1050 - if (appres.numeric_lock && FA_IS_NUMERIC(fa)) { 1053 + if (h3270.numeric_lock && FA_IS_NUMERIC(fa)) {
1051 operator_error(KL_OERR_NUMERIC); 1054 operator_error(KL_OERR_NUMERIC);
1052 return False; 1055 return False;
1053 } 1056 }
@@ -1250,7 +1253,7 @@ retry: @@ -1250,7 +1253,7 @@ retry:
1250 1253
1251 if (done) { 1254 if (done) {
1252 /* Implement blank fill mode. */ 1255 /* Implement blank fill mode. */
1253 - if (toggled(BLANK_FILL)) { 1256 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_BLANK_FILL)) {
1254 xaddr = faddr; 1257 xaddr = faddr;
1255 INC_BA(xaddr); 1258 INC_BA(xaddr);
1256 while (xaddr != baddr) { 1259 while (xaddr != baddr) {
@@ -1505,7 +1508,7 @@ do_reset(Boolean explicit) @@ -1505,7 +1508,7 @@ do_reset(Boolean explicit)
1505 #if defined(X3270_FT) /*[*/ 1508 #if defined(X3270_FT) /*[*/
1506 || lib3270_get_ft_state(&h3270) != LIB3270_FT_STATE_NONE 1509 || lib3270_get_ft_state(&h3270) != LIB3270_FT_STATE_NONE
1507 #endif /*]*/ 1510 #endif /*]*/
1508 - || (!appres.unlock_delay) // && !sms_in_macro()) 1511 + || (!h3270.unlock_delay) // && !sms_in_macro())
1509 || (unlock_delay_time != 0 && (time(NULL) - unlock_delay_time) > 1)) { 1512 || (unlock_delay_time != 0 && (time(NULL) - unlock_delay_time) > 1)) {
1510 kybdlock_clr(-1, "do_reset"); 1513 kybdlock_clr(-1, "do_reset");
1511 } else if (kybdlock & 1514 } else if (kybdlock &
@@ -3010,7 +3013,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int p @@ -3010,7 +3013,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int p
3010 return len-1; /* wrapped */ 3013 return len-1; /* wrapped */
3011 3014
3012 /* Jump cursor over left margin. */ 3015 /* Jump cursor over left margin. */
3013 - if (toggled(MARGINED_PASTE) && 3016 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_MARGINED_PASTE) &&
3014 BA_TO_COL(session->cursor_addr) < orig_col) { 3017 BA_TO_COL(session->cursor_addr) < orig_col) {
3015 if (!remargin(orig_col)) 3018 if (!remargin(orig_col))
3016 return len-1; 3019 return len-1;
@@ -3291,7 +3294,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int p @@ -3291,7 +3294,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int p
3291 3294
3292 switch (state) { 3295 switch (state) {
3293 case BASE: 3296 case BASE:
3294 - if (toggled(MARGINED_PASTE) && 3297 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_MARGINED_PASTE) &&
3295 BA_TO_COL(session->cursor_addr) < orig_col) { 3298 BA_TO_COL(session->cursor_addr) < orig_col) {
3296 (void) remargin(orig_col); 3299 (void) remargin(orig_col);
3297 } 3300 }
@@ -3300,7 +3303,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int p @@ -3300,7 +3303,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *session, char *s, int len, int p
3300 case HEX: 3303 case HEX:
3301 key_ACharacter((unsigned char) literal, KT_STD, ia, &skipped); 3304 key_ACharacter((unsigned char) literal, KT_STD, ia, &skipped);
3302 state = BASE; 3305 state = BASE;
3303 - if (toggled(MARGINED_PASTE) && 3306 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_MARGINED_PASTE) &&
3304 BA_TO_COL(session->cursor_addr) < orig_col) { 3307 BA_TO_COL(session->cursor_addr) < orig_col) {
3305 (void) remargin(orig_col); 3308 (void) remargin(orig_col);
3306 } 3309 }
@@ -107,7 +107,7 @@ @@ -107,7 +107,7 @@
107 int faddr; 107 int faddr;
108 unsigned char fa; 108 unsigned char fa;
109 109
110 - if(toggled(MARGINED_PASTE)) 110 + if(lib3270_get_toggle(&h3270,LIB3270_TOGGLE_MARGINED_PASTE))
111 { 111 {
112 baddr = session->cursor_addr; 112 baddr = session->cursor_addr;
113 while(BA_TO_COL(baddr) < lmargin) 113 while(BA_TO_COL(baddr) < lmargin)
@@ -138,7 +138,7 @@ @@ -138,7 +138,7 @@
138 static int paste_char(H3270 *session, PASTE_DATA *data, unsigned char c) 138 static int paste_char(H3270 *session, PASTE_DATA *data, unsigned char c)
139 { 139 {
140 140
141 - if(toggled(SMART_PASTE)) 141 + if(lib3270_get_toggle(session,SMART_PASTE))
142 { 142 {
143 int faddr = find_field_attribute(session,session->cursor_addr); 143 int faddr = find_field_attribute(session,session->cursor_addr);
144 if(FA_IS_PROTECTED(session->ea_buf[faddr].fa)) 144 if(FA_IS_PROTECTED(session->ea_buf[faddr].fa))
@@ -226,7 +226,7 @@ LIB3270_EXPORT int lib3270_set_string(H3270 *h, const unsigned char *str) @@ -226,7 +226,7 @@ LIB3270_EXPORT int lib3270_set_string(H3270 *h, const unsigned char *str)
226 } 226 }
227 str++; 227 str++;
228 228
229 - if(IN_3270 && toggled(MARGINED_PASTE) && BA_TO_COL(h->cursor_addr) < data.orig_col) 229 + if(IN_3270 && lib3270_get_toggle(h,LIB3270_TOGGLE_MARGINED_PASTE) && BA_TO_COL(h->cursor_addr) < data.orig_col)
230 { 230 {
231 if(!remargin(h,data.orig_col)) 231 if(!remargin(h,data.orig_col))
232 last = 0; 232 last = 0;
@@ -35,35 +35,39 @@ @@ -35,35 +35,39 @@
35 * proxy.c 35 * proxy.c
36 * This module implements various kinds of proxies. 36 * This module implements various kinds of proxies.
37 */ 37 */
  38 +
38 #ifdef _WIN32 39 #ifdef _WIN32
39 #include <winsock2.h> 40 #include <winsock2.h>
40 #include <windows.h> 41 #include <windows.h>
41 #endif // _WIN32 42 #endif // _WIN32
42 43
43 #include "globals.h" 44 #include "globals.h"
44 -#if !defined(PR3287) /*[*/ 45 +
45 #include "appres.h" 46 #include "appres.h"
46 #include "resources.h" 47 #include "resources.h"
47 -#endif /*]*/  
48 48
49 #ifndef ANDROID 49 #ifndef ANDROID
50 #include <stdlib.h> 50 #include <stdlib.h>
51 #endif 51 #endif
52 52
53 #if defined(_WIN32) 53 #if defined(_WIN32)
  54 +
54 #include <ws2tcpip.h> 55 #include <ws2tcpip.h>
  56 +
55 #else 57 #else
56 58
57 -#include <malloc.h>  
58 -#include <sys/socket.h>  
59 -#include <sys/ioctl.h>  
60 -#include <netinet/in.h>  
61 -#include <netdb.h>  
62 -#include <arpa/inet.h>  
63 -#if defined(HAVE_SYS_SELECT_H) /*[*/  
64 -#include <sys/select.h> /* fd_set declaration */  
65 -#endif /*]*/  
66 -#endif /*]*/ 59 + #include <malloc.h>
  60 + #include <sys/socket.h>
  61 + #include <sys/ioctl.h>
  62 + #include <netinet/in.h>
  63 + #include <netdb.h>
  64 + #include <arpa/inet.h>
  65 +
  66 +// #if defined(HAVE_SYS_SELECT_H)
  67 +// #include <sys/select.h>
  68 +// #endif
  69 +
  70 +#endif
67 71
68 #include "api.h" 72 #include "api.h"
69 73
@@ -76,30 +80,32 @@ @@ -76,30 +80,32 @@
76 #include "w3miscc.h" 80 #include "w3miscc.h"
77 #include "screen.h" 81 #include "screen.h"
78 82
79 -#if defined(PR3287) /*[*/  
80 -extern char *proxy_spec;  
81 -#endif /*]*/ 83 +// #if defined(PR3287)
  84 +// extern char *proxy_spec;
  85 +// #endif
82 86
83 /* 87 /*
84 * Supported proxy types. 88 * Supported proxy types.
85 * 89 *
86 * At some point we will add SOCKS. 90 * At some point we will add SOCKS.
87 */ 91 */
88 -enum {  
89 - PT_NONE,  
90 - PT_PASSTHRU, /* Sun telnet-passthru */  
91 - PT_HTTP, /* RFC 2817 CONNECT tunnel */  
92 - PT_TELNET, /* 'connect host port' proxy */  
93 - PT_SOCKS4, /* SOCKS version 4 (or 4A if necessary) */  
94 - PT_SOCKS4A, /* SOCKS version 4A (force remote name resolution) */  
95 - PT_SOCKS5, /* SOCKS version 5 (RFC 1928) */  
96 - PT_SOCKS5D, /* SOCKS version 5 (force remote name resolution) */ 92 +enum
  93 +{
  94 + PT_NONE,
  95 + PT_PASSTHRU, /**< Sun telnet-passthru */
  96 + PT_HTTP, /**< RFC 2817 CONNECT tunnel */
  97 + PT_TELNET, /**< 'connect host port' proxy */
  98 + PT_SOCKS4, /**< SOCKS version 4 (or 4A if necessary) */
  99 + PT_SOCKS4A, /**< SOCKS version 4A (force remote name resolution) */
  100 + PT_SOCKS5, /**< SOCKS version 5 (RFC 1928) */
  101 + PT_SOCKS5D, /**< SOCKS version 5 (force remote name resolution) */
97 PT_MAX 102 PT_MAX
98 } proxytype_t; 103 } proxytype_t;
99 104
100 /* proxy type names -- keep these in sync with proxytype_t! */ 105 /* proxy type names -- keep these in sync with proxytype_t! */
101 -char *type_name[] = {  
102 - "unknown", 106 +char *type_name[] =
  107 +{
  108 + "unknown",
103 "passthru", 109 "passthru",
104 "HTTP", 110 "HTTP",
105 "TELNET", 111 "TELNET",
@@ -138,8 +144,7 @@ static int proxy_socks4(int fd, char *host, unsigned short port, int force_a); @@ -138,8 +144,7 @@ static int proxy_socks4(int fd, char *host, unsigned short port, int force_a);
138 static int proxy_socks5(int fd, char *host, unsigned short port, int force_d); 144 static int proxy_socks5(int fd, char *host, unsigned short port, int force_d);
139 145
140 146
141 -char *  
142 -proxy_type_name(int type) 147 +char * proxy_type_name(int type)
143 { 148 {
144 if (type < 1 || type >= PT_MAX) 149 if (type < 1 || type >= PT_MAX)
145 return "unknown"; 150 return "unknown";
@@ -151,38 +156,35 @@ proxy_type_name(int type) @@ -151,38 +156,35 @@ proxy_type_name(int type)
151 * Resolve the type, hostname and port for a proxy. 156 * Resolve the type, hostname and port for a proxy.
152 * Returns -1 for failure, 0 for no proxy, >0 (the proxy type) for success. 157 * Returns -1 for failure, 0 for no proxy, >0 (the proxy type) for success.
153 */ 158 */
154 -int  
155 -proxy_setup(char **phost, char **pport) 159 +int proxy_setup(H3270 *session, char **phost, char **pport)
156 { 160 {
157 - char *proxy;  
158 - char *colon;  
159 - int sl; 161 + char * proxy = session->proxy;
  162 + char * colon;
  163 + int sl;
160 164
161 -#if defined(PR3287) /*[*/  
162 - proxy = proxy_spec;  
163 -#else /*][*/  
164 - proxy = appres.proxy;  
165 -#endif /*]*/  
166 - if (proxy == CN)  
167 - return PT_NONE; 165 + if(!proxy)
  166 + return PT_NONE;
168 167
169 - if ((colon = strchr(proxy, ':')) == CN || (colon == proxy)) {  
170 - popup_an_error(NULL,"Invalid proxy syntax"); 168 + if ((colon = strchr(proxy, ':')) == CN || (colon == proxy))
  169 + {
  170 + popup_an_error(session,_( "Invalid proxy syntax" ) );
171 return -1; 171 return -1;
172 } 172 }
173 173
174 sl = colon - proxy; 174 sl = colon - proxy;
175 - if (sl == strlen(PROXY_PASSTHRU) &&  
176 - !strncasecmp(proxy, PROXY_PASSTHRU, sl)) {  
177 - 175 + if (sl == strlen(PROXY_PASSTHRU) && !strncasecmp(proxy, PROXY_PASSTHRU, sl))
  176 + {
178 if (parse_host_port(colon + 1, phost, pport) < 0) 177 if (parse_host_port(colon + 1, phost, pport) < 0)
179 - return -1; 178 + return -1;
  179 +
180 if (*pport == CN) 180 if (*pport == CN)
181 - *pport = NewString(PORT_PASSTHRU); 181 + *pport = NewString(PORT_PASSTHRU);
  182 +
182 return PT_PASSTHRU; 183 return PT_PASSTHRU;
183 } 184 }
184 - if (sl == strlen(PROXY_HTTP) &&  
185 - !strncasecmp(proxy, PROXY_HTTP, sl)) { 185 +
  186 + if (sl == strlen(PROXY_HTTP) && !strncasecmp(proxy, PROXY_HTTP, sl))
  187 + {
186 188
187 if (parse_host_port(colon + 1, phost, pport) < 0) 189 if (parse_host_port(colon + 1, phost, pport) < 0)
188 return -1; 190 return -1;
@@ -190,54 +192,66 @@ proxy_setup(char **phost, char **pport) @@ -190,54 +192,66 @@ proxy_setup(char **phost, char **pport)
190 *pport = NewString(PORT_HTTP); 192 *pport = NewString(PORT_HTTP);
191 return PT_HTTP; 193 return PT_HTTP;
192 } 194 }
193 - if (sl == strlen(PROXY_TELNET) &&  
194 - !strncasecmp(proxy, PROXY_TELNET, sl)) { 195 +
  196 + if (sl == strlen(PROXY_TELNET) && !strncasecmp(proxy, PROXY_TELNET, sl))
  197 + {
195 198
196 if (parse_host_port(colon + 1, phost, pport) < 0) 199 if (parse_host_port(colon + 1, phost, pport) < 0)
197 return -1; 200 return -1;
198 - if (*pport == CN) {  
199 - popup_an_error(NULL,"Must specify port for telnet proxy"); 201 + if (*pport == CN)
  202 + {
  203 + popup_an_error(session,_( "Must specify port for telnet proxy" ) );
200 return -1; 204 return -1;
201 } 205 }
202 return PT_TELNET; 206 return PT_TELNET;
203 } 207 }
204 - if (sl == strlen(PROXY_SOCKS4) &&  
205 - !strncasecmp(proxy, PROXY_SOCKS4, sl)) {  
206 208
  209 + if (sl == strlen(PROXY_SOCKS4) && !strncasecmp(proxy, PROXY_SOCKS4, sl))
  210 + {
207 if (parse_host_port(colon + 1, phost, pport) < 0) 211 if (parse_host_port(colon + 1, phost, pport) < 0)
208 - return -1; 212 + return -1;
  213 +
209 if (*pport == CN) 214 if (*pport == CN)
210 - *pport = NewString(PORT_SOCKS4); 215 + *pport = NewString(PORT_SOCKS4);
  216 +
211 return PT_SOCKS4; 217 return PT_SOCKS4;
212 } 218 }
213 - if (sl == strlen(PROXY_SOCKS4A) &&  
214 - !strncasecmp(proxy, PROXY_SOCKS4A, sl)) {  
215 219
  220 + if (sl == strlen(PROXY_SOCKS4A) && !strncasecmp(proxy, PROXY_SOCKS4A, sl))
  221 + {
216 if (parse_host_port(colon + 1, phost, pport) < 0) 222 if (parse_host_port(colon + 1, phost, pport) < 0)
217 - return -1; 223 + return -1;
  224 +
218 if (*pport == CN) 225 if (*pport == CN)
219 - *pport = NewString(PORT_SOCKS4A); 226 + *pport = NewString(PORT_SOCKS4A);
  227 +
220 return PT_SOCKS4A; 228 return PT_SOCKS4A;
221 } 229 }
222 - if (sl == strlen(PROXY_SOCKS5) &&  
223 - !strncasecmp(proxy, PROXY_SOCKS5, sl)) {  
224 230
  231 + if (sl == strlen(PROXY_SOCKS5) && !strncasecmp(proxy, PROXY_SOCKS5, sl))
  232 + {
225 if (parse_host_port(colon + 1, phost, pport) < 0) 233 if (parse_host_port(colon + 1, phost, pport) < 0)
226 - return -1; 234 + return -1;
  235 +
227 if (*pport == CN) 236 if (*pport == CN)
228 - *pport = NewString(PORT_SOCKS5); 237 + *pport = NewString(PORT_SOCKS5);
  238 +
229 return PT_SOCKS5; 239 return PT_SOCKS5;
230 } 240 }
231 - if (sl == strlen(PROXY_SOCKS5D) &&  
232 - !strncasecmp(proxy, PROXY_SOCKS5D, sl)) {  
233 241
  242 + if (sl == strlen(PROXY_SOCKS5D) && !strncasecmp(proxy, PROXY_SOCKS5D, sl))
  243 + {
234 if (parse_host_port(colon + 1, phost, pport) < 0) 244 if (parse_host_port(colon + 1, phost, pport) < 0)
235 - return -1; 245 + return -1;
  246 +
236 if (*pport == CN) 247 if (*pport == CN)
237 - *pport = NewString(PORT_SOCKS5D); 248 + *pport = NewString(PORT_SOCKS5D);
  249 +
238 return PT_SOCKS5D; 250 return PT_SOCKS5D;
239 } 251 }
240 - popup_an_error(NULL,"Invalid proxy type '%.*s'", sl, proxy); 252 +
  253 + popup_an_error(session,"Invalid proxy type '%.*s'", sl, proxy);
  254 +
241 return -1; 255 return -1;
242 } 256 }
243 257
@@ -17,6 +17,6 @@ @@ -17,6 +17,6 @@
17 * Declarations for proxy.c. 17 * Declarations for proxy.c.
18 */ 18 */
19 19
20 -LIB3270_INTERNAL int proxy_setup(char **phost, char **pport);  
21 -LIB3270_INTERNAL int proxy_negotiate(int type, int fd, char *host, unsigned short port);  
22 -LIB3270_INTERNAL char *proxy_type_name(int type); 20 +LIB3270_INTERNAL int proxy_setup(H3270 *session, char **phost, char **pport);
  21 +LIB3270_INTERNAL int proxy_negotiate(int type, int fd, char *host, unsigned short port);
  22 +LIB3270_INTERNAL char * proxy_type_name(int type);
@@ -48,7 +48,9 @@ @@ -48,7 +48,9 @@
48 #include <netdb.h> 48 #include <netdb.h>
49 #endif /*]*/ 49 #endif /*]*/
50 50
51 -#include <stdlib.h> 51 +#ifndef ANDROID
  52 + #include <stdlib.h>
  53 +#endif // !ANDROID
52 54
53 #include "api.h" 55 #include "api.h"
54 56
@@ -202,8 +204,7 @@ do_qr_rpqnames(void) @@ -202,8 +204,7 @@ do_qr_rpqnames(void)
202 } 204 }
203 break; 205 break;
204 206
205 - case RPQ_TIMESTAMP: /* program build time  
206 - (yyyymmddhhmmss bcd) */ 207 + case RPQ_TIMESTAMP: /* program build time (yyyymmddhhmmss bcd) */
207 x = strlen(build_rpq_timestamp); 208 x = strlen(build_rpq_timestamp);
208 omit_due_space_limit = ((x+1)/2 > remaining); 209 omit_due_space_limit = ((x+1)/2 > remaining);
209 if (!omit_due_space_limit) { 210 if (!omit_due_space_limit) {
@@ -220,8 +221,7 @@ do_qr_rpqnames(void) @@ -220,8 +221,7 @@ do_qr_rpqnames(void)
220 } 221 }
221 222
222 if (omit_due_space_limit) 223 if (omit_due_space_limit)
223 - rpq_warning("RPQ %s term omitted due to insufficient "  
224 - "space", rpq_keywords[j].text); 224 + rpq_warning("RPQ %s term omitted due to insufficient space", rpq_keywords[j].text);
225 /* 225 /*
226 * The item is built, insert item length as needed and 226 * The item is built, insert item length as needed and
227 * adjust space remaining. 227 * adjust space remaining.
@@ -367,8 +367,7 @@ select_rpq_terms(void) @@ -367,8 +367,7 @@ select_rpq_terms(void)
367 } 367 }
368 368
369 /* Utility function used by the RPQNAMES query reply. */ 369 /* Utility function used by the RPQNAMES query reply. */
370 -static int  
371 -get_rpq_timezone(void) 370 +static int get_rpq_timezone(void)
372 { 371 {
373 /* 372 /*
374 * Return the signed number of minutes we're offset from UTC. 373 * Return the signed number of minutes we're offset from UTC.
@@ -402,8 +401,7 @@ get_rpq_timezone(void) @@ -402,8 +401,7 @@ get_rpq_timezone(void)
402 401
403 x = strtol(p1, &p2, 10); 402 x = strtol(p1, &p2, 10);
404 if (errno != 0) { 403 if (errno != 0) {
405 - rpq_warning("RPQ TIMEZONE term is invalid - "  
406 - "use +/-hhmm"); 404 + rpq_warning("RPQ TIMEZONE term is invalid - use +/-hhmm");
407 return 4; 405 return 4;
408 } 406 }
409 if ((*p2 != '\0') && (*p2 != ':') && (!isspace(*p2))) 407 if ((*p2 != '\0') && (*p2 != ':') && (!isspace(*p2)))
@@ -412,8 +410,7 @@ get_rpq_timezone(void) @@ -412,8 +410,7 @@ get_rpq_timezone(void)
412 hhmm = ldiv(x, 100L); 410 hhmm = ldiv(x, 100L);
413 411
414 if (hhmm.rem > 59L) { 412 if (hhmm.rem > 59L) {
415 - rpq_warning("RPQ TIMEZONE term is invalid - "  
416 - "use +/-hhmm"); 413 + rpq_warning("RPQ TIMEZONE term is invalid - use +/-hhmm");
417 return 4; 414 return 4;
418 } 415 }
419 416
@@ -424,15 +421,16 @@ get_rpq_timezone(void) @@ -424,15 +421,16 @@ get_rpq_timezone(void)
424 * No override specified, try to get information from the 421 * No override specified, try to get information from the
425 * system. 422 * system.
426 */ 423 */
427 - if ((here = time(NULL)) == (time_t)(-1)) {  
428 - rpq_warning("RPQ: Unable to determine workstation "  
429 - "local time"); 424 + if ((here = time(NULL)) == (time_t)(-1))
  425 + {
  426 + rpq_warning("RPQ: Unable to determine workstation local time");
430 return 1; 427 return 1;
431 } 428 }
432 memcpy(&here_tm, localtime(&here), sizeof(struct tm)); 429 memcpy(&here_tm, localtime(&here), sizeof(struct tm));
433 - if ((utc_tm = gmtime(&here)) == NULL) {  
434 - rpq_warning("RPQ: Unable to determine workstation UTC "  
435 - "time"); 430 +
  431 + if ((utc_tm = gmtime(&here)) == NULL)
  432 + {
  433 + rpq_warning("RPQ: Unable to determine workstation UTC time");
436 return 2; 434 return 2;
437 } 435 }
438 436
@@ -502,15 +500,13 @@ get_rpq_user(unsigned char buf[], const int buflen) @@ -502,15 +500,13 @@ get_rpq_user(unsigned char buf[], const int buflen)
502 if (isspace(c)) 500 if (isspace(c))
503 continue; /* skip white space */ 501 continue; /* skip white space */
504 if (!isxdigit(c)) { 502 if (!isxdigit(c)) {
505 - rpq_warning("RPQ USER term has non-hex "  
506 - "character"); 503 + rpq_warning("RPQ USER term has non-hex character");
507 break; 504 break;
508 } 505 }
509 x = (p_h - hexstr)/2; 506 x = (p_h - hexstr)/2;
510 if (x >= buflen) { 507 if (x >= buflen) {
511 x = buflen; 508 x = buflen;
512 - rpq_warning("RPQ USER term truncated after %d "  
513 - "bytes", x); 509 + rpq_warning("RPQ USER term truncated after %d bytes", x);
514 break; /* too long, truncate */ 510 break; /* too long, truncate */
515 } 511 }
516 512
@@ -529,8 +525,7 @@ get_rpq_user(unsigned char buf[], const int buflen) @@ -529,8 +525,7 @@ get_rpq_user(unsigned char buf[], const int buflen)
529 */ 525 */
530 is_first_hex_digit = ((strlen(hexstr) % 2) == 0); 526 is_first_hex_digit = ((strlen(hexstr) % 2) == 0);
531 if (!is_first_hex_digit) 527 if (!is_first_hex_digit)
532 - rpq_warning("RPQ USER term has odd number of hex "  
533 - "digits"); 528 + rpq_warning("RPQ USER term has odd number of hex digits");
534 *buf = 0; /* initialize first byte for possible implied 529 *buf = 0; /* initialize first byte for possible implied
535 leading zero */ 530 leading zero */
536 for (p_h = &hexstr[0]; *p_h; p_h++) { 531 for (p_h = &hexstr[0]; *p_h; p_h++) {
@@ -555,8 +550,7 @@ get_rpq_user(unsigned char buf[], const int buflen) @@ -555,8 +550,7 @@ get_rpq_user(unsigned char buf[], const int buflen)
555 550
556 if ( x >= buflen) { 551 if ( x >= buflen) {
557 x = buflen; 552 x = buflen;
558 - rpq_warning("RPQ USER term truncated after %d "  
559 - "characters", x); 553 + rpq_warning("RPQ USER term truncated after %d characters", x);
560 break; 554 break;
561 } 555 }
562 556
@@ -630,8 +624,7 @@ get_rpq_address(unsigned char *buf, const int maxlen) @@ -630,8 +624,7 @@ get_rpq_address(unsigned char *buf, const int maxlen)
630 len = sizeof(struct in6_addr); 624 len = sizeof(struct in6_addr);
631 break; 625 break;
632 default: 626 default:
633 - rpq_warning("RPQ ADDRESS term has "  
634 - "unrecognized family %u", 627 + rpq_warning("RPQ ADDRESS term has unrecognized family %u",
635 res->ai_family); 628 res->ai_family);
636 break; 629 break;
637 } 630 }
@@ -640,8 +633,7 @@ get_rpq_address(unsigned char *buf, const int maxlen) @@ -640,8 +633,7 @@ get_rpq_address(unsigned char *buf, const int maxlen)
640 x += len; 633 x += len;
641 (void) memcpy(buf, src, len); 634 (void) memcpy(buf, src, len);
642 } else { 635 } else {
643 - rpq_warning("RPQ ADDRESS term incomplete due "  
644 - "to space limit"); 636 + rpq_warning("RPQ ADDRESS term incomplete due to space limit");
645 } 637 }
646 /* Give back storage obtained by getaddrinfo */ 638 /* Give back storage obtained by getaddrinfo */
647 freeaddrinfo(res); 639 freeaddrinfo(res);
@@ -670,8 +662,7 @@ get_rpq_address(unsigned char *buf, const int maxlen) @@ -670,8 +662,7 @@ get_rpq_address(unsigned char *buf, const int maxlen)
670 (void) memcpy(buf, &ia, sizeof(in_addr_t)); 662 (void) memcpy(buf, &ia, sizeof(in_addr_t));
671 x += sizeof(in_addr_t); 663 x += sizeof(in_addr_t);
672 } else { 664 } else {
673 - rpq_warning("RPQ ADDRESS term incomplete due to "  
674 - "space limit"); 665 + rpq_warning("RPQ ADDRESS term incomplete due to space limit");
675 } 666 }
676 #endif /*]*/ 667 #endif /*]*/
677 free(rpqtext); 668 free(rpqtext);
@@ -704,16 +695,14 @@ get_rpq_address(unsigned char *buf, const int maxlen) @@ -704,16 +695,14 @@ get_rpq_address(unsigned char *buf, const int maxlen)
704 break; 695 break;
705 #endif /*]*/ 696 #endif /*]*/
706 default: 697 default:
707 - rpq_warning("RPQ ADDRESS term has unrecognized "  
708 - "family %u", u.sa.sa_family); 698 + rpq_warning("RPQ ADDRESS term has unrecognized family %u", u.sa.sa_family);
709 break; 699 break;
710 } 700 }
711 if (x + len <= maxlen) { 701 if (x + len <= maxlen) {
712 (void) memcpy(buf, src, len); 702 (void) memcpy(buf, src, len);
713 x += len; 703 x += len;
714 } else { 704 } else {
715 - rpq_warning("RPQ ADDRESS term incomplete due to space "  
716 - "limit"); 705 + rpq_warning("RPQ ADDRESS term incomplete due to space limit");
717 } 706 }
718 } 707 }
719 return x; 708 return x;
@@ -721,38 +710,46 @@ get_rpq_address(unsigned char *buf, const int maxlen) @@ -721,38 +710,46 @@ get_rpq_address(unsigned char *buf, const int maxlen)
721 #endif /*]*/ 710 #endif /*]*/
722 711
723 #define RPQ_WARNBUF_SIZE 1024 712 #define RPQ_WARNBUF_SIZE 1024
724 -static char *rpq_warnbuf = CN;  
725 -static int rpq_wbcnt = 0; 713 +static char * rpq_warnbuf = CN;
  714 +static int rpq_wbcnt = 0;
726 715
727 -static void  
728 -rpq_warning(const char *fmt, ...) 716 +static void rpq_warning(const char *fmt, ...)
729 { 717 {
730 va_list a; 718 va_list a;
731 719
732 - /* Only accumulate RPQ warnings if they 720 + va_start(a, fmt);
  721 + lib3270_write_va_log(&h3270,"RPQ",fmt,a);
  722 + va_end(a);
  723 +
  724 + /*
  725 + * Only accumulate RPQ warnings if they
733 * have not been displayed already. 726 * have not been displayed already.
734 */ 727 */
735 - if (!rpq_complained) { 728 + if (!rpq_complained)
  729 + {
736 va_start(a, fmt); 730 va_start(a, fmt);
737 if (rpq_warnbuf == CN) 731 if (rpq_warnbuf == CN)
738 rpq_warnbuf = Malloc(RPQ_WARNBUF_SIZE); 732 rpq_warnbuf = Malloc(RPQ_WARNBUF_SIZE);
739 - if (rpq_wbcnt < RPQ_WARNBUF_SIZE) { 733 +
  734 + if (rpq_wbcnt < RPQ_WARNBUF_SIZE)
  735 + {
740 *(rpq_warnbuf + rpq_wbcnt++) = '\n'; 736 *(rpq_warnbuf + rpq_wbcnt++) = '\n';
741 *(rpq_warnbuf + rpq_wbcnt) = '\0'; 737 *(rpq_warnbuf + rpq_wbcnt) = '\0';
742 } 738 }
743 - if (rpq_wbcnt < RPQ_WARNBUF_SIZE) {  
744 - rpq_wbcnt += vsnprintf(rpq_warnbuf + rpq_wbcnt,  
745 - RPQ_WARNBUF_SIZE - rpq_wbcnt, fmt, a); 739 +
  740 + if (rpq_wbcnt < RPQ_WARNBUF_SIZE)
  741 + {
  742 + rpq_wbcnt += vsnprintf(rpq_warnbuf + rpq_wbcnt,RPQ_WARNBUF_SIZE - rpq_wbcnt, fmt, a);
746 } 743 }
747 va_end(a); 744 va_end(a);
748 } 745 }
749 } 746 }
750 747
751 -static void  
752 -rpq_dump_warnings(void) 748 +static void rpq_dump_warnings(void)
753 { 749 {
754 /* If there's something to complain about, only complain once. */ 750 /* If there's something to complain about, only complain once. */
755 - if (!rpq_complained && rpq_wbcnt) { 751 + if (!rpq_complained && rpq_wbcnt)
  752 + {
756 popup_an_error(NULL,rpq_warnbuf); 753 popup_an_error(NULL,rpq_warnbuf);
757 rpq_wbcnt = 0; 754 rpq_wbcnt = 0;
758 rpq_complained = True; 755 rpq_complained = True;
@@ -83,7 +83,7 @@ enum ts { TS_AUTO, TS_ON, TS_OFF }; @@ -83,7 +83,7 @@ enum ts { TS_AUTO, TS_ON, TS_OFF };
83 static void screen_update(H3270 *session, int bstart, int bend); 83 static void screen_update(H3270 *session, int bstart, int bend);
84 static void status_connect(H3270 *session, int ignored, void *dunno); 84 static void status_connect(H3270 *session, int ignored, void *dunno);
85 static void status_3270_mode(H3270 *session, int ignored, void *dunno); 85 static void status_3270_mode(H3270 *session, int ignored, void *dunno);
86 -static void status_printer(H3270 *session, int on, void *dunno); 86 +// static void status_printer(H3270 *session, int on, void *dunno);
87 static unsigned short color_from_fa(unsigned char fa); 87 static unsigned short color_from_fa(unsigned char fa);
88 88
89 /*--[ Implement ]------------------------------------------------------------------------------------*/ 89 /*--[ Implement ]------------------------------------------------------------------------------------*/
@@ -131,9 +131,9 @@ int screen_init(H3270 *session) @@ -131,9 +131,9 @@ int screen_init(H3270 *session)
131 CHECK_SESSION_HANDLE(session); 131 CHECK_SESSION_HANDLE(session);
132 132
133 /* Set up callbacks for state changes. */ 133 /* Set up callbacks for state changes. */
134 - lib3270_register_schange(session,ST_CONNECT, status_connect,0);  
135 - lib3270_register_schange(session,ST_3270_MODE, status_3270_mode,0);  
136 - lib3270_register_schange(session,ST_PRINTER, status_printer,0); 134 + lib3270_register_schange(session,LIB3270_STATE_CONNECT, status_connect,0);
  135 + lib3270_register_schange(session,LIB3270_STATE_3270_MODE, status_3270_mode,0);
  136 +// lib3270_register_schange(session,ST_PRINTER, status_printer,0);
137 137
138 /* Set up the controller. */ 138 /* Set up the controller. */
139 ctlr_init(session,-1); 139 ctlr_init(session,-1);
@@ -338,7 +338,7 @@ static void screen_update(H3270 *session, int bstart, int bend) @@ -338,7 +338,7 @@ static void screen_update(H3270 *session, int bstart, int bend)
338 } 338 }
339 else 339 else
340 { 340 {
341 - if (toggled(MONOCASE)) 341 + if (lib3270_get_toggle(session,MONOCASE))
342 addch(session,baddr,asc2uc[ebc2asc[session->ea_buf[baddr].cc]],attr,&first,&last); 342 addch(session,baddr,asc2uc[ebc2asc[session->ea_buf[baddr].cc]],attr,&first,&last);
343 else 343 else
344 addch(session,baddr,ebc2asc[session->ea_buf[baddr].cc],attr,&first,&last); 344 addch(session,baddr,ebc2asc[session->ea_buf[baddr].cc],attr,&first,&last);
@@ -579,10 +579,12 @@ static void status_3270_mode(H3270 *session, int ignored unused, void *dunno) @@ -579,10 +579,12 @@ static void status_3270_mode(H3270 *session, int ignored unused, void *dunno)
579 579
580 } 580 }
581 581
  582 +/*
582 static void status_printer(H3270 *session, int on, void *dunno) 583 static void status_printer(H3270 *session, int on, void *dunno)
583 { 584 {
584 set_status(session,OIA_FLAG_PRINTER,on); 585 set_status(session,OIA_FLAG_PRINTER,on);
585 } 586 }
  587 +*/
586 588
587 void status_timing(H3270 *session, struct timeval *t0, struct timeval *t1) 589 void status_timing(H3270 *session, struct timeval *t0, struct timeval *t1)
588 { 590 {
@@ -43,7 +43,7 @@ @@ -43,7 +43,7 @@
43 #include <netinet/in.h> 43 #include <netinet/in.h>
44 #endif /*]*/ 44 #endif /*]*/
45 #include "3270ds.h" 45 #include "3270ds.h"
46 -#include "appres.h" 46 +// #include "appres.h"
47 #include "screen.h" 47 #include "screen.h"
48 // #include "ctlr.h" 48 // #include "ctlr.h"
49 #include "resources.h" 49 #include "resources.h"
@@ -772,7 +772,7 @@ do_qr_color(void) @@ -772,7 +772,7 @@ do_qr_color(void)
772 772
773 trace_ds("> QueryReply(Color)\n"); 773 trace_ds("> QueryReply(Color)\n");
774 774
775 - color_max = appres.color8? 8: 16; /* report on 8 or 16 colors */ 775 + color_max = h3270.color8 ? 8: 16; /* report on 8 or 16 colors */
776 776
777 space3270out(4 + 2*15); 777 space3270out(4 + 2*15);
778 *obptr++ = 0x00; /* no options */ 778 *obptr++ = 0x00; /* no options */
@@ -904,7 +904,7 @@ do_qr_charsets(void) @@ -904,7 +904,7 @@ do_qr_charsets(void)
904 if (!*standard_font) { 904 if (!*standard_font) {
905 /* special 3270 font, includes APL */ 905 /* special 3270 font, includes APL */
906 *obptr++ = 0x01;/* SET 1: */ 906 *obptr++ = 0x01;/* SET 1: */
907 - if (appres.apl_mode) 907 + if (h3270.apl_mode)
908 *obptr++ = 0x00;/* FLAGS: non-loadable, single-plane, 908 *obptr++ = 0x00;/* FLAGS: non-loadable, single-plane,
909 single-byte, no compare */ 909 single-byte, no compare */
910 else 910 else
@@ -83,7 +83,7 @@ @@ -83,7 +83,7 @@
83 #include "tn3270e.h" 83 #include "tn3270e.h"
84 #include "3270ds.h" 84 #include "3270ds.h"
85 85
86 -#include "appres.h" 86 +// #include "appres.h"
87 87
88 #include "ansic.h" 88 #include "ansic.h"
89 #include "ctlrc.h" 89 #include "ctlrc.h"
@@ -521,7 +521,18 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo @@ -521,7 +521,18 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo
521 netrbuf = (unsigned char *)Malloc(BUFSZ); 521 netrbuf = (unsigned char *)Malloc(BUFSZ);
522 522
523 #if defined(X3270_ANSI) /*[*/ 523 #if defined(X3270_ANSI) /*[*/
524 - if (!t_valid) { 524 + if (!t_valid)
  525 + {
  526 + vintr = parse_ctlchar("^C");
  527 + vquit = parse_ctlchar("^\\");
  528 + verase = parse_ctlchar("^H");
  529 + vkill = parse_ctlchar("^U");
  530 + veof = parse_ctlchar("^D");
  531 + vwerase = parse_ctlchar("^W");
  532 + vrprnt = parse_ctlchar("^R");
  533 + vlnext = parse_ctlchar("^V");
  534 +
  535 +/*
525 vintr = parse_ctlchar(appres.intr); 536 vintr = parse_ctlchar(appres.intr);
526 vquit = parse_ctlchar(appres.quit); 537 vquit = parse_ctlchar(appres.quit);
527 verase = parse_ctlchar(appres.erase); 538 verase = parse_ctlchar(appres.erase);
@@ -530,6 +541,7 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo @@ -530,6 +541,7 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo
530 vwerase = parse_ctlchar(appres.werase); 541 vwerase = parse_ctlchar(appres.werase);
531 vrprnt = parse_ctlchar(appres.rprnt); 542 vrprnt = parse_ctlchar(appres.rprnt);
532 vlnext = parse_ctlchar(appres.lnext); 543 vlnext = parse_ctlchar(appres.lnext);
  544 +*/
533 t_valid = 1; 545 t_valid = 1;
534 } 546 }
535 #endif /*]*/ 547 #endif /*]*/
@@ -540,7 +552,8 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo @@ -540,7 +552,8 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo
540 Replace(session->hostname, NewString(host)); 552 Replace(session->hostname, NewString(host));
541 553
542 /* get the passthru host and port number */ 554 /* get the passthru host and port number */
543 - if (session->passthru_host) { 555 + if (session->passthru_host)
  556 + {
544 const char *hn = CN; 557 const char *hn = CN;
545 558
546 #ifndef ANDROID 559 #ifndef ANDROID
@@ -563,27 +576,35 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo @@ -563,27 +576,35 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo
563 passthru_port = sp->s_port; 576 passthru_port = sp->s_port;
564 else 577 else
565 passthru_port = htons(3514); 578 passthru_port = htons(3514);
566 - } else if (appres.proxy != CN && !proxy_type) {  
567 - proxy_type = proxy_setup(&proxy_host, &proxy_portname);  
568 - if (proxy_type > 0) {  
569 - unsigned long lport; 579 + }
  580 + else if(session->proxy != CN && !proxy_type)
  581 + {
  582 + proxy_type = proxy_setup(session, &proxy_host, &proxy_portname);
  583 +
  584 + if (proxy_type > 0)
  585 + {
  586 + unsigned long lport;
570 char *ptr; 587 char *ptr;
571 struct servent *sp; 588 struct servent *sp;
572 589
573 lport = strtoul(portname, &ptr, 0); 590 lport = strtoul(portname, &ptr, 0);
574 - if (ptr == portname || *ptr != '\0' || lport == 0L ||  
575 - lport & ~0xffff) {  
576 - if (!(sp = getservbyname(portname, "tcp"))) {  
577 - popup_an_error(NULL,"Unknown port number "  
578 - "or service: %s", portname); 591 + if (ptr == portname || *ptr != '\0' || lport == 0L || lport & ~0xffff)
  592 + {
  593 + if (!(sp = getservbyname(portname, "tcp")))
  594 + {
  595 + popup_an_error(session, _( "Unknown port number or service: %s" ), portname);
579 return -1; 596 return -1;
580 } 597 }
581 session->current_port = ntohs(sp->s_port); 598 session->current_port = ntohs(sp->s_port);
582 - } else 599 + }
  600 + else
  601 + {
583 session->current_port = (unsigned short)lport; 602 session->current_port = (unsigned short)lport;
  603 + }
584 } 604 }
  605 +
585 if (proxy_type < 0) 606 if (proxy_type < 0)
586 - return -1; 607 + return -1;
587 } 608 }
588 609
589 /* fill in the socket address of the given host */ 610 /* fill in the socket address of the given host */
@@ -679,9 +700,9 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo @@ -679,9 +700,9 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo
679 } 700 }
680 701
681 /* set up temporary termtype */ 702 /* set up temporary termtype */
682 - if (appres.termname == CN && session->std_ds_host) 703 + if (session->termname == CN && session->std_ds_host)
683 { 704 {
684 - (void) sprintf(ttype_tmpval, "IBM-327%c-%d",session->m3279 ? '9' : '8', session->model_num); 705 + sprintf(ttype_tmpval, "IBM-327%c-%d",session->m3279 ? '9' : '8', session->model_num);
685 session->termtype = ttype_tmpval; 706 session->termtype = ttype_tmpval;
686 } 707 }
687 708
@@ -932,7 +953,7 @@ void net_disconnect(H3270 *session) @@ -932,7 +953,7 @@ void net_disconnect(H3270 *session)
932 trace_dsn("SENT disconnect\n"); 953 trace_dsn("SENT disconnect\n");
933 954
934 /* Restore terminal type to its default. */ 955 /* Restore terminal type to its default. */
935 - if (appres.termname == CN) 956 + if (session->termname == CN)
936 session->termtype = session->full_model_name; 957 session->termtype = session->full_model_name;
937 958
938 /* We're not connected to an LU any more. */ 959 /* We're not connected to an LU any more. */
@@ -1216,7 +1237,7 @@ telnet_fsm(unsigned char c) @@ -1216,7 +1237,7 @@ telnet_fsm(unsigned char c)
1216 } 1237 }
1217 trace_dsn("%s",see_chr); 1238 trace_dsn("%s",see_chr);
1218 if (!syncing) { 1239 if (!syncing) {
1219 - if (linemode && appres.onlcr && c == '\n') 1240 + if (linemode && h3270.onlcr && c == '\n')
1220 ansi_process((unsigned int) '\r'); 1241 ansi_process((unsigned int) '\r');
1221 ansi_process((unsigned int) c); 1242 ansi_process((unsigned int) c);
1222 // sms_store(c); 1243 // sms_store(c);
@@ -1375,7 +1396,7 @@ telnet_fsm(unsigned char c) @@ -1375,7 +1396,7 @@ telnet_fsm(unsigned char c)
1375 #endif /*]*/ 1396 #endif /*]*/
1376 if (c == TELOPT_TN3270E && h3270.non_tn3270e_host) 1397 if (c == TELOPT_TN3270E && h3270.non_tn3270e_host)
1377 goto wont; 1398 goto wont;
1378 - if (c == TELOPT_TM && !appres.bsd_tm) 1399 + if (c == TELOPT_TM && !h3270.bsd_tm)
1379 goto wont; 1400 goto wont;
1380 1401
1381 if (!myopts[c]) { 1402 if (!myopts[c]) {
@@ -1383,8 +1404,7 @@ telnet_fsm(unsigned char c) @@ -1383,8 +1404,7 @@ telnet_fsm(unsigned char c)
1383 myopts[c] = 1; 1404 myopts[c] = 1;
1384 will_opt[2] = c; 1405 will_opt[2] = c;
1385 net_rawout(will_opt, sizeof(will_opt)); 1406 net_rawout(will_opt, sizeof(will_opt));
1386 - trace_dsn("SENT %s %s\n", cmd(WILL),  
1387 - opt(c)); 1407 + trace_dsn("SENT %s %s\n", cmd(WILL), opt(c));
1388 check_in3270(); 1408 check_in3270();
1389 check_linemode(False); 1409 check_linemode(False);
1390 } 1410 }
@@ -2078,7 +2098,7 @@ net_hexansi_out(unsigned char *buf, int len) @@ -2078,7 +2098,7 @@ net_hexansi_out(unsigned char *buf, int len)
2078 2098
2079 #if defined(X3270_TRACE) /*[*/ 2099 #if defined(X3270_TRACE) /*[*/
2080 /* Trace the data. */ 2100 /* Trace the data. */
2081 - if (toggled(DS_TRACE)) { 2101 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_DS_TRACE)) {
2082 int i; 2102 int i;
2083 2103
2084 trace_dsn(">"); 2104 trace_dsn(">");
@@ -2114,7 +2134,7 @@ static void @@ -2114,7 +2134,7 @@ static void
2114 net_cookedout(const char *buf, int len) 2134 net_cookedout(const char *buf, int len)
2115 { 2135 {
2116 #if defined(X3270_TRACE) /*[*/ 2136 #if defined(X3270_TRACE) /*[*/
2117 - if (toggled(DS_TRACE)) { 2137 + if (lib3270_get_toggle(&h3270,LIB3270_TOGGLE_DS_TRACE)) {
2118 int i; 2138 int i;
2119 2139
2120 trace_dsn(">"); 2140 trace_dsn(">");
@@ -2147,9 +2167,9 @@ net_cookout(const char *buf, int len) @@ -2147,9 +2167,9 @@ net_cookout(const char *buf, int len)
2147 c = buf[i]; 2167 c = buf[i];
2148 2168
2149 /* Input conversions. */ 2169 /* Input conversions. */
2150 - if (!lnext && c == '\r' && appres.icrnl) 2170 + if (!lnext && c == '\r' && h3270.icrnl)
2151 c = '\n'; 2171 c = '\n';
2152 - else if (!lnext && c == '\n' && appres.inlcr) 2172 + else if (!lnext && c == '\n' && h3270.inlcr)
2153 c = '\r'; 2173 c = '\r';
2154 2174
2155 /* Backslashes. */ 2175 /* Backslashes. */
@@ -2637,7 +2657,7 @@ void trace_netdata(char direction, unsigned const char *buf, int len) @@ -2637,7 +2657,7 @@ void trace_netdata(char direction, unsigned const char *buf, int len)
2637 struct timeval ts; 2657 struct timeval ts;
2638 double tdiff; 2658 double tdiff;
2639 2659
2640 - if (!toggled(DS_TRACE)) 2660 + if (!lib3270_get_toggle(&h3270,LIB3270_TOGGLE_DS_TRACE))
2641 return; 2661 return;
2642 (void) gettimeofday(&ts, (struct timezone *)NULL); 2662 (void) gettimeofday(&ts, (struct timezone *)NULL);
2643 if (IN_3270) { 2663 if (IN_3270) {
@@ -49,10 +49,10 @@ @@ -49,10 +49,10 @@
49 #define DS_TRACE LIB3270_TOGGLE_DS_TRACE 49 #define DS_TRACE LIB3270_TOGGLE_DS_TRACE
50 #define SCROLL_BAR LIB3270_TOGGLE_SCROLL_BAR 50 #define SCROLL_BAR LIB3270_TOGGLE_SCROLL_BAR
51 #define LINE_WRAP LIB3270_TOGGLE_LINE_WRAP 51 #define LINE_WRAP LIB3270_TOGGLE_LINE_WRAP
52 - #define BLANK_FILL LIB3270_TOGGLE_BLANK_FILL 52 +// #define BLANK_FILL LIB3270_TOGGLE_BLANK_FILL
53 #define SCREEN_TRACE LIB3270_TOGGLE_SCREEN_TRACE 53 #define SCREEN_TRACE LIB3270_TOGGLE_SCREEN_TRACE
54 #define EVENT_TRACE LIB3270_TOGGLE_EVENT_TRACE 54 #define EVENT_TRACE LIB3270_TOGGLE_EVENT_TRACE
55 - #define MARGINED_PASTE LIB3270_TOGGLE_MARGINED_PASTE 55 +// #define MARGINED_PASTE LIB3270_TOGGLE_MARGINED_PASTE
56 #define RECTANGLE_SELECT LIB3270_TOGGLE_RECTANGLE_SELECT 56 #define RECTANGLE_SELECT LIB3270_TOGGLE_RECTANGLE_SELECT
57 #define CROSSHAIR LIB3270_TOGGLE_CROSSHAIR 57 #define CROSSHAIR LIB3270_TOGGLE_CROSSHAIR
58 // #define VISIBLE_CONTROL LIB3270_TOGGLE_VISIBLE_CONTROL 58 // #define VISIBLE_CONTROL LIB3270_TOGGLE_VISIBLE_CONTROL
@@ -142,7 +142,7 @@ trace_ds_s(char *s, Boolean can_break) @@ -142,7 +142,7 @@ trace_ds_s(char *s, Boolean can_break)
142 int len = strlen(s); 142 int len = strlen(s);
143 Boolean nl = False; 143 Boolean nl = False;
144 144
145 - if (!toggled(DS_TRACE) || !len) 145 + if (!lib3270_get_toggle(&h3270,DS_TRACE) || !len)
146 return; 146 return;
147 147
148 if (s && s[len-1] == '\n') { 148 if (s && s[len-1] == '\n') {
@@ -177,7 +177,7 @@ trace_ds(const char *fmt, ...) @@ -177,7 +177,7 @@ trace_ds(const char *fmt, ...)
177 char tdsbuf[4096]; 177 char tdsbuf[4096];
178 va_list args; 178 va_list args;
179 179
180 - if (!toggled(DS_TRACE)) 180 + if (!lib3270_get_toggle(&h3270,DS_TRACE))
181 return; 181 return;
182 182
183 va_start(args, fmt); 183 va_start(args, fmt);
@@ -194,7 +194,7 @@ trace_ds_nb(const char *fmt, ...) @@ -194,7 +194,7 @@ trace_ds_nb(const char *fmt, ...)
194 char tdsbuf[4096]; 194 char tdsbuf[4096];
195 va_list args; 195 va_list args;
196 196
197 - if (!toggled(DS_TRACE)) 197 + if (!lib3270_get_toggle(&h3270,DS_TRACE))
198 return; 198 return;
199 199
200 va_start(args, fmt); 200 va_start(args, fmt);
@@ -211,7 +211,7 @@ trace_event(const char *fmt, ...) @@ -211,7 +211,7 @@ trace_event(const char *fmt, ...)
211 { 211 {
212 va_list args; 212 va_list args;
213 213
214 - if (!toggled(EVENT_TRACE)) 214 + if (!lib3270_get_toggle(&h3270,EVENT_TRACE))
215 return; 215 return;
216 216
217 /* print out message */ 217 /* print out message */
@@ -226,7 +226,7 @@ trace_dsn(const char *fmt, ...) @@ -226,7 +226,7 @@ trace_dsn(const char *fmt, ...)
226 { 226 {
227 va_list args; 227 va_list args;
228 228
229 - if (!toggled(DS_TRACE)) 229 + if (!lib3270_get_toggle(&h3270,DS_TRACE))
230 return; 230 return;
231 231
232 /* print out message */ 232 /* print out message */
@@ -760,14 +760,14 @@ static void tracefile_off(void) @@ -760,14 +760,14 @@ static void tracefile_off(void)
760 760
761 void toggle_dsTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt) 761 void toggle_dsTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_TYPE tt)
762 { 762 {
763 - if (toggled(DS_TRACE) && tracef == NULL) 763 + if (lib3270_get_toggle(&h3270,DS_TRACE) && tracef == NULL)
764 tracefile_on(DS_TRACE, tt); 764 tracefile_on(DS_TRACE, tt);
765 765
766 // If turning off trace and not still tracing events, close the trace file. 766 // If turning off trace and not still tracing events, close the trace file.
767 - else if (!toggled(DS_TRACE) && !toggled(EVENT_TRACE)) 767 + else if (!lib3270_get_toggle(&h3270,DS_TRACE) && !lib3270_get_toggle(&h3270,EVENT_TRACE))
768 tracefile_off(); 768 tracefile_off();
769 769
770 - if (toggled(DS_TRACE)) 770 + if (lib3270_get_toggle(&h3270,DS_TRACE))
771 (void) gettimeofday(&ds_ts, (struct timezone *)NULL); 771 (void) gettimeofday(&ds_ts, (struct timezone *)NULL);
772 } 772 }
773 */ 773 */
@@ -777,11 +777,11 @@ void toggle_eventTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_T @@ -777,11 +777,11 @@ void toggle_eventTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_T
777 { 777 {
778 // If turning on event debug, and no trace file, open one. 778 // If turning on event debug, and no trace file, open one.
779 779
780 - if (toggled(EVENT_TRACE) && tracef == NULL) 780 + if (lib3270_get_toggle(&h3270,EVENT_TRACE) && tracef == NULL)
781 tracefile_on(EVENT_TRACE, tt); 781 tracefile_on(EVENT_TRACE, tt);
782 782
783 // If turning off event debug, and not tracing the data stream, close the trace file. 783 // If turning off event debug, and not tracing the data stream, close the trace file.
784 - else if (!toggled(EVENT_TRACE) && !toggled(DS_TRACE)) 784 + else if (!lib3270_get_toggle(&h3270,EVENT_TRACE) && !lib3270_get_toggle(&h3270,DS_TRACE))
785 tracefile_off(); 785 tracefile_off();
786 } 786 }
787 */ 787 */
@@ -815,14 +815,14 @@ void trace_screen(void) @@ -815,14 +815,14 @@ void trace_screen(void)
815 { 815 {
816 trace_skipping = False; 816 trace_skipping = False;
817 817
818 - if (!toggled(SCREEN_TRACE)) 818 + if (!lib3270_get_toggle(&h3270,SCREEN_TRACE))
819 do_screentrace(); 819 do_screentrace();
820 } 820 }
821 821
822 /* Called from ANSI emulation code to log a single character. */ 822 /* Called from ANSI emulation code to log a single character. */
823 void trace_char(char c) 823 void trace_char(char c)
824 { 824 {
825 - if (toggled(SCREEN_TRACE)) 825 + if (lib3270_get_toggle(&h3270,SCREEN_TRACE))
826 wtrace("%c",c); 826 wtrace("%c",c);
827 return; 827 return;
828 } 828 }
@@ -924,7 +924,7 @@ void toggle_screenTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_ @@ -924,7 +924,7 @@ void toggle_screenTrace(H3270 *session, struct toggle *t unused, LIB3270_TOGGLE_
924 char *tracefile_buf = NULL; 924 char *tracefile_buf = NULL;
925 char *tracefile; 925 char *tracefile;
926 926
927 - if (toggled(SCREEN_TRACE)) { 927 + if (lib3270_get_toggle(&h3270,SCREEN_TRACE)) {
928 if (appres.screentrace_file) 928 if (appres.screentrace_file)
929 tracefile = appres.screentrace_file; 929 tracefile = appres.screentrace_file;
930 else { 930 else {