3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS Service
5 * FILE: subsys/system/dhcp
6 * PURPOSE: DHCP client service entry point
7 * PROGRAMMER: Art Yerkes (arty@users.sf.net)
16 typedef struct _DHCP_API_REQUEST
{
19 LPDHCPAPI_CLASSID class_id
;
20 DHCP_API_PARAMS_ARRAY vendor_params
;
21 DHCP_API_PARAMS_ARRAY general_params
;
22 LPWSTR request_id
, adapter_name
;
25 typedef struct _DHCP_MANAGED_ADAPTER
{
26 LPWSTR adapter_name
, hostname
, dns_server
;
28 struct sockaddr_in address
, netmask
;
29 struct interface_info
*dhcp_info
;
30 } DHCP_MANAGED_ADAPTER
;
32 #define DHCP_REQUESTPARAM WM_USER + 0
33 #define DHCP_PARAMCHANGE WM_USER + 1
34 #define DHCP_CANCELREQUEST WM_USER + 2
35 #define DHCP_NOPARAMCHANGE WM_USER + 3
36 #define DHCP_MANAGEADAPTER WM_USER + 4
37 #define DHCP_UNMANAGEADAPTER WM_USER + 5
40 HANDLE DhcpServiceThread
;
41 DWORD DhcpServiceThreadId
;
42 LIST_ENTRY ManagedAdapters
;
44 LRESULT WINAPI
ServiceThread( PVOID Data
) {
47 while( GetMessage( &msg
, 0, 0, 0 ) ) {
48 switch( msg
.message
) {
49 case DHCP_MANAGEADAPTER
:
53 case DHCP_UNMANAGEADAPTER
:
56 case DHCP_REQUESTPARAM
:
59 case DHCP_CANCELREQUEST
:
62 case DHCP_PARAMCHANGE
:
65 case DHCP_NOPARAMCHANGE
:
71 int main( int argc
, char **argv
) {