15 #include <dhcp/rosdhcp_public.h>
17 #define IFNAMSIZ MAX_INTERFACE_NAME_LEN
18 #undef interface /* wine/objbase.h -- Grrr */
23 #define DHCP_DISCOVER_INTERVAL 15
24 #define DHCP_REBOOT_TIMEOUT 300
25 #define DHCP_PANIC_TIMEOUT DHCP_REBOOT_TIMEOUT * 3
26 #define DHCP_BACKOFF_MAX 300
27 #define _PATH_DHCLIENT_PID "\\systemroot\\system32\\drivers\\etc\\dhclient.pid"
28 #define RRF_RT_REG_SZ 2
29 typedef void *VOIDPTR
;
31 typedef u_int32_t uintTIME
;
35 #if (_MSC_VER < 900) || defined(__STDC__)
38 #define inline __inline
45 typedef void (*handler_t
) PROTO ((struct packet
*));
47 typedef struct _DHCP_ADAPTER
{
52 ULONG NteContext
,NteInstance
;
53 struct interface_info DhclientInfo
;
54 struct client_state DhclientState
;
55 struct client_config DhclientConfig
;
56 struct sockaddr_in ListenAddr
;
57 unsigned int BindStatus
;
58 unsigned char recv_buf
[1];
59 } DHCP_ADAPTER
, *PDHCP_ADAPTER
;
61 typedef DWORD (*PipeSendFunc
)( COMM_DHCP_REPLY
*Reply
);
66 void AdapterInit(VOID
);
67 HANDLE
PipeInit(VOID
);
68 extern PDHCP_ADAPTER
AdapterFindIndex( unsigned int AdapterIndex
);
69 extern PDHCP_ADAPTER
AdapterFindInfo( struct interface_info
*info
);
70 extern VOID
ApiInit();
71 extern VOID
ApiLock();
72 extern VOID
ApiUnlock();
73 extern DWORD
DSQueryHWInfo( PipeSendFunc Send
, COMM_DHCP_REQ
*Req
);
74 extern DWORD
DSLeaseIpAddress( PipeSendFunc Send
, COMM_DHCP_REQ
*Req
);
75 extern DWORD
DSRenewIpAddressLease( PipeSendFunc Send
, COMM_DHCP_REQ
*Req
);
76 extern DWORD
DSReleaseIpAddressLease( PipeSendFunc Send
, COMM_DHCP_REQ
*Req
);
77 int warn( char *format
, ... );