2 * uxcfg.c - the Unix-specific parts of the PuTTY configuration
13 void unix_setup_config_box(struct controlbox
*b
, int midsession
, int protocol
)
19 * The Conf structure contains two Unix-specific elements which
20 * are not configured in here: stamp_utmp and login_shell. This
21 * is because pterm does not put up a configuration box right at
22 * the start, which is the only time when these elements would
23 * be useful to configure.
27 * On Unix, we don't have a drop-down list for the printer
30 s
= ctrl_getset(b
, "Terminal", "printing", "Remote-controlled printing");
31 assert(s
->ncontrols
== 1 && s
->ctrls
[0]->generic
.type
== CTRL_EDITBOX
);
32 s
->ctrls
[0]->editbox
.has_list
= 0;
35 * Unix supports a local-command proxy. This also means we must
36 * adjust the text on the `Telnet command' control.
40 s
= ctrl_getset(b
, "Connection/Proxy", "basics", NULL
);
41 for (i
= 0; i
< s
->ncontrols
; i
++) {
43 if (c
->generic
.type
== CTRL_RADIO
&&
44 c
->generic
.context
.i
== CONF_proxy_type
) {
45 assert(c
->generic
.handler
== conf_radiobutton_handler
);
48 sresize(c
->radio
.buttons
, c
->radio
.nbuttons
, char *);
49 c
->radio
.buttons
[c
->radio
.nbuttons
-1] =
52 sresize(c
->radio
.buttondata
, c
->radio
.nbuttons
, intorptr
);
53 c
->radio
.buttondata
[c
->radio
.nbuttons
-1] = I(PROXY_CMD
);
58 for (i
= 0; i
< s
->ncontrols
; i
++) {
60 if (c
->generic
.type
== CTRL_EDITBOX
&&
61 c
->generic
.context
.i
== CONF_proxy_telnet_command
) {
62 assert(c
->generic
.handler
== conf_editbox_handler
);
63 sfree(c
->generic
.label
);
64 c
->generic
.label
= dupstr("Telnet command, or local"
72 * Serial back end is available on Unix. However, we have to
73 * mask out a couple of the configuration options: mark and
74 * space parity are not conveniently supported, and neither is
75 * DSR/DTR flow control.
77 if (!midsession
|| (protocol
== PROT_SERIAL
))
78 ser_setup_config_box(b
, midsession
, 0x07, 0x07);