annotate netinstall/net.cc @ 4709:db7068430402

Add explicit GPL v2 or later notices to Bill Perry's code, where such notices are missing. This is done with Bill Perry's stated permission, in private email to me.
author Jerry James <james@xemacs.org>
date Mon, 05 Oct 2009 11:08:59 -0600
parents 685b588e92d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
1 /*
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
2 * Copyright (c) 2000, Red Hat, Inc.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
3 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
4 * This program is free software; you can redistribute it and/or modify
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
7 * (at your option) any later version.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
8 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
9 * A copy of the GNU General Public License can be found at
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
10 * http://www.gnu.org/
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
11 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
12 * Written by DJ Delorie <dj@cygnus.com>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
13 *
673
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
14 * Sync'ed with cinstall 2001-10-16
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
15 */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
16
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
17 /* The purpose of this file is to get the network configuration
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
18 information from the user. */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
19
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
20 #include "win32.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
21 #include <stdio.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
22 #include <stdlib.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
23 #include "dialog.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
24 #include "resource.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
25 #include "state.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
26 #include "msg.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
27 #include "log.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
28
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
29 static int rb[] = { IDC_NET_IE5, IDC_NET_DIRECT, IDC_NET_PROXY, 0 };
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
30
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
31 static void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
32 check_if_enable_next (HWND h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
33 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
34 int e = 0, p = 0, pu = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
35 if (net_method == IDC_NET_IE5)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
36 pu = 1;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
37 if (net_method == IDC_NET_IE5 || net_method == IDC_NET_DIRECT)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
38 e = 1;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
39 else if (net_method == IDC_NET_PROXY)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
40 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
41 p = pu = 1;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
42 if (net_proxy_host && net_proxy_port)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
43 e = 1;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
44 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
45 EnableWindow (GetDlgItem (h, IDOK), e);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
46 EnableWindow (GetDlgItem (h, IDC_PROXY_HOST), p);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
47 EnableWindow (GetDlgItem (h, IDC_PROXY_PORT), p);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
48 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
49
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
50 static void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
51 load_dialog (HWND h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
52 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
53 rbset (h, rb, net_method);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
54 eset (h, IDC_PROXY_HOST, net_proxy_host);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
55 if (net_proxy_port == 0)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
56 net_proxy_port = 80;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
57 eset (h, IDC_PROXY_PORT, net_proxy_port);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
58 check_if_enable_next (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
59 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
60
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
61 static void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
62 save_dialog (HWND h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
63 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
64 net_method = rbget (h, rb);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
65 net_proxy_host = eget (h, IDC_PROXY_HOST, net_proxy_host);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
66 net_proxy_port = eget (h, IDC_PROXY_PORT);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
67 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
68
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
69 static BOOL
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
70 dialog_cmd (HWND h, int id, HWND hwndctl, UINT code)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
71 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
72 switch (id)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
73 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
74
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
75 case IDC_NET_IE5:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
76 case IDC_NET_DIRECT:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
77 case IDC_NET_PROXY:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
78 case IDC_PROXY_HOST:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
79 case IDC_PROXY_PORT:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
80 save_dialog (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
81 check_if_enable_next (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
82 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
83
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
84 case IDOK:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
85 save_dialog (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
86 switch (source)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
87 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
88 case IDC_SOURCE_NETINST:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
89 case IDC_SOURCE_DOWNLOAD:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
90 NEXT (IDD_SITE);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
91 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
92 case IDC_SOURCE_CWD:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
93 NEXT (0);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
94 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
95 default:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
96 msg ("source is default? %d\n", source);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
97 NEXT (0);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
98 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
99 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
100
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
101 case IDC_BACK:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
102 save_dialog (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
103 switch (source)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
104 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
105 case IDC_SOURCE_DOWNLOAD:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
106 NEXT (IDD_LOCAL_DIR);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
107 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
108 case IDC_SOURCE_NETINST:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
109 case IDC_SOURCE_CWD:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
110 NEXT (IDD_ROOT);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
111 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
112 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
113 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
114
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
115 case IDCANCEL:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
116 NEXT (0);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
117 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
118 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
119 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
120
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
121 static BOOL CALLBACK
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
122 dialog_proc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
123 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
124 switch (message)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
125 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
126 case WM_INITDIALOG:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
127 load_dialog (h);
673
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
128
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
129 // Check to see if any radio buttons are selected. If not, select a default.
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
130 if ((!SendMessage(GetDlgItem (h, IDC_NET_IE5), BM_GETCHECK, 0, 0) == BST_CHECKED)
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
131 && (!SendMessage(GetDlgItem (h, IDC_NET_PROXY), BM_GETCHECK, 0, 0) == BST_CHECKED))
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
132 {
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
133 SendMessage(GetDlgItem (h, IDC_NET_DIRECT), BM_CLICK, 0, 0);
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
134 }
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
135 return FALSE;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
136 case WM_COMMAND:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
137 return HANDLE_WM_COMMAND (h, wParam, lParam, dialog_cmd);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
138 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
139 return FALSE;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
140 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
141
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
142 void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
143 do_net (HINSTANCE h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
144 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
145 int rv = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
146
673
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 448
diff changeset
147 net_method = IDC_NET_DIRECT;
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
148 rv = DialogBox (h, MAKEINTRESOURCE (IDD_NET), 0, dialog_proc);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
149 if (rv == -1)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
150 fatal (IDS_DIALOG_FAILED);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
151
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
152 log (0, "net: %s",
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
153 (net_method == IDC_NET_IE5) ? "IE5" :
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
154 (net_method == IDC_NET_DIRECT) ? "Direct" : "Proxy");
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
155 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
156