[WINESYNC] wininet: Add support for detecting the proxy config URL.
[reactos.git] / sdk / include / psdk / dhcpcsdk.h
index 602928b..8f96a82 100644 (file)
-#ifndef _DHCPCDSK_H
-#define _DHCPCDSK_H
+/*
+ * Copyright (C) 2017 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+#ifndef _DHCPCSDK_
+#define _DHCPCSDK_
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+#define OPTION_PAD                      0
+#define OPTION_SUBNET_MASK              1
+#define OPTION_TIME_OFFSET              2
+#define OPTION_ROUTER_ADDRESS           3
+#define OPTION_TIME_SERVERS             4
+#define OPTION_IEN116_NAME_SERVERS      5
+#define OPTION_DOMAIN_NAME_SERVERS      6
+#define OPTION_LOG_SERVERS              7
+#define OPTION_COOKIE_SERVERS           8
+#define OPTION_LPR_SERVERS              9
+#define OPTION_IMPRESS_SERVERS          10
+#define OPTION_RLP_SERVERS              11
+#define OPTION_HOST_NAME                12
+#define OPTION_BOOT_FILE_SIZE           13
+#define OPTION_MERIT_DUMP_FILE          14
+#define OPTION_DOMAIN_NAME              15
+#define OPTION_SWAP_SERVER              16
+#define OPTION_ROOT_DISK                17
+#define OPTION_EXTENSIONS_PATH          18
+#define OPTION_BE_A_ROUTER              19
+#define OPTION_NON_LOCAL_SOURCE_ROUTING 20
+#define OPTION_POLICY_FILTER_FOR_NLSR   21
+#define OPTION_MAX_REASSEMBLY_SIZE      22
+#define OPTION_DEFAULT_TTL              23
+#define OPTION_PMTU_AGING_TIMEOUT       24
+#define OPTION_PMTU_PLATEAU_TABLE       25
+#define OPTION_MTU                      26
+#define OPTION_ALL_SUBNETS_MTU          27
+#define OPTION_BROADCAST_ADDRESS        28
+#define OPTION_PERFORM_MASK_DISCOVERY   29
+#define OPTION_BE_A_MASK_SUPPLIER       30
+#define OPTION_PERFORM_ROUTER_DISCOVERY 31
+#define OPTION_ROUTER_SOLICITATION_ADDR 32
+#define OPTION_STATIC_ROUTES            33
+#define OPTION_TRAILERS                 34
+#define OPTION_ARP_CACHE_TIMEOUT        35
+#define OPTION_ETHERNET_ENCAPSULATION   36
+#define OPTION_TTL                      37
+#define OPTION_KEEP_ALIVE_INTERVAL      38
+#define OPTION_KEEP_ALIVE_DATA_SIZE     39
+#define OPTION_NETWORK_INFO_SERVICE_DOM 40
+#define OPTION_NETWORK_INFO_SERVERS     41
+#define OPTION_NETWORK_TIME_SERVERS     42
+#define OPTION_VENDOR_SPEC_INFO         43
+#define OPTION_NETBIOS_NAME_SERVER      44
+#define OPTION_NETBIOS_DATAGRAM_SERVER  45
+#define OPTION_NETBIOS_NODE_TYPE        46
+#define OPTION_NETBIOS_SCOPE_OPTION     47
+#define OPTION_XWINDOW_FONT_SERVER      48
+#define OPTION_XWINDOW_DISPLAY_MANAGER  49
+#define OPTION_REQUESTED_ADDRESS        50
+#define OPTION_LEASE_TIME               51
+#define OPTION_OK_TO_OVERLAY            52
+#define OPTION_MESSAGE_TYPE             53
+#define OPTION_SERVER_IDENTIFIER        54
+#define OPTION_PARAMETER_REQUEST_LIST   55
+#define OPTION_MESSAGE                  56
+#define OPTION_MESSAGE_LENGTH           57
+#define OPTION_RENEWAL_TIME             58
+#define OPTION_REBIND_TIME              59
+#define OPTION_CLIENT_CLASS_INFO        60
+#define OPTION_CLIENT_ID                61
+
+#define OPTION_TFTP_SERVER_NAME         66
+#define OPTION_BOOTFILE_NAME            67
+
+#define OPTION_MSFT_IE_PROXY            252
+#define OPTION_END                      255
+
+typedef struct _DHCPAPI_PARAMS
+{
+    ULONG  Flags;
+    ULONG  OptionId;
+    BOOL   IsVendor;
+    BYTE   *Data;
+    DWORD  nBytesData;
+} DHCPAPI_PARAMS, *PDHCPAPI_PARAMS, *LPDHCPAPI_PARAMS;
+
+typedef struct _DHCPAPI_PARAMS DHCPCAPI_PARAMS, *PDHCPCAPI_PARAMS, *LPDHCPCAPI_PARAMS;
+
+typedef struct _DHCPCAPI_PARAMS_ARARAY
+{
+    ULONG             nParams;
+    LPDHCPCAPI_PARAMS Params;
+} DHCPCAPI_PARAMS_ARRAY, *PDHCPCAPI_PARAMS_ARRAY, *LPDHCPCAPI_PARAMS_ARRAY;
+
+typedef struct _DHCPCAPI_CLASSID
+{
+    ULONG  Flags;
+    BYTE   *Data;
+    ULONG  nBytesData;
+} DHCPCAPI_CLASSID, *PDHCPCAPI_CLASSID, *LPDHCPCAPI_CLASSID;
+
+#define DHCPCAPI_REQUEST_PERSISTENT   0x1
+#define DHCPCAPI_REQUEST_SYNCHRONOUS  0x2
+#define DHCPCAPI_REQUEST_ASYNCHRONOUS 0x4
+#define DHCPCAPI_REQUEST_CANCEL       0x8
+#define DHCPCAPI_REQUEST_MASK         0xf
+
+void WINAPI DhcpCApiCleanup(void);
+DWORD WINAPI DhcpCApiInitialize(DWORD *);
+DWORD WINAPI DhcpRequestParams(DWORD, void *, WCHAR *, DHCPCAPI_CLASSID *, DHCPCAPI_PARAMS_ARRAY,
+                               DHCPCAPI_PARAMS_ARRAY, BYTE *, DWORD *, WCHAR *);
 
-#if (_WIN32_WINNT >= 0x0500)
-#define DHCPCAPI_REGISTER_HANDLE_EVENT 0x00000001
-#define DHCPCAPI_REQUEST_PERSISTENT  0x00000001
-#define DHCPCAPI_REQUEST_SYNCHRONOUS 0x00000002
-typedef struct _DHCPAPI_CLASSID {
-       ULONG Flags;
-       LPBYTE Data;
-       ULONG nBytesData;
-} DHCPCAPI_CLASSID,*PDHCPCAPI_CLASSID,*LPDHCPCAPI_CLASSID;
-typedef struct _DHCPAPI_PARAMS {
-       ULONG Flags;
-       ULONG OptionId;
-       BOOL IsVendor;
-       LPBYTE Data;
-       DWORD nBytesData;
-} DHCPAPI_PARAMS,*PDHCPAPI_PARAMS,*LPDHCPAPI_PARAMS;
-typedef struct _DHCPAPI_PARAMS_ARRAY {
-       ULONG nParams;
-       LPDHCPAPI_PARAMS Params;
-} DHCPCAPI_PARAMS_ARRAY,*PDHCPCAPI_PARAMS_ARRAY,*LPDHCPCAPI_PARAMS_ARRAY;
-VOID WINAPI DhcpCApiCleanup(void);
-DWORD WINAPI DhcpCApiInitialize(LPDWORD);
-DWORD WINAPI DhcpDeRegisterParamChange(DWORD,LPVOID,LPVOID);
-DWORD WINAPI DhcpRegisterParamChange(DWORD,LPVOID,PWSTR,LPDHCPCAPI_CLASSID,DHCPCAPI_PARAMS_ARRAY,LPVOID);
-DWORD WINAPI DhcpRemoveDNSRegistrations(void);
-DWORD WINAPI DhcpUndoRequestParams(DWORD,LPVOID,LPWSTR,LPWSTR);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
 #endif