ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dhcpssdk.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 4044 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6 #ifndef _CALLOUT_H_
7 #define _CALLOUT_H_
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 typedef DWORD DHCP_IP_ADDRESS;
14 typedef struct _DHCP_SERVER_OPTIONS {
15 BYTE *MessageType;
16 DHCP_IP_ADDRESS UNALIGNED *SubnetMask;
17 DHCP_IP_ADDRESS UNALIGNED *RequestedAddress;
18 DWORD UNALIGNED *RequestLeaseTime;
19 BYTE *OverlayFields;
20 DHCP_IP_ADDRESS UNALIGNED *RouterAddress;
21 DHCP_IP_ADDRESS UNALIGNED *Server;
22 BYTE *ParameterRequestList;
23 DWORD ParameterRequestListLength;
24 CHAR *MachineName;
25 DWORD MachineNameLength;
26 BYTE ClientHardwareAddressType;
27 BYTE ClientHardwareAddressLength;
28 BYTE *ClientHardwareAddress;
29 CHAR *ClassIdentifier;
30 DWORD ClassIdentifierLength;
31 BYTE *VendorClass;
32 DWORD VendorClassLength;
33 DWORD DNSFlags;
34 DWORD DNSNameLength;
35 LPBYTE DNSName;
36 BOOLEAN DSDomainNameRequested;
37 CHAR *DSDomainName;
38 DWORD DSDomainNameLen;
39 DWORD UNALIGNED *ScopeId;
40 } DHCP_SERVER_OPTIONS,*LPDHCP_SERVER_OPTIONS;
41
42 #define DHCP_CALLOUT_LIST_KEY L"System\\CurrentControlSet\\Services\\DHCPServer\\Parameters"
43 #define DHCP_CALLOUT_LIST_VALUE L"CalloutDlls"
44 #define DHCP_CALLOUT_LIST_TYPE REG_MULTI_SZ
45 #define DHCP_CALLOUT_ENTRY_POINT "DhcpServerCalloutEntry"
46
47 #define DHCP_CONTROL_START 0x00000001
48 #define DHCP_CONTROL_STOP 0x00000002
49 #define DHCP_CONTROL_PAUSE 0x00000003
50 #define DHCP_CONTROL_CONTINUE 0x00000004
51
52 #define DHCP_DROP_DUPLICATE 0x00000001
53 #define DHCP_DROP_NOMEM 0x00000002
54 #define DHCP_DROP_INTERNAL_ERROR 0x00000003
55 #define DHCP_DROP_TIMEOUT 0x00000004
56 #define DHCP_DROP_UNAUTH 0x00000005
57 #define DHCP_DROP_PAUSED 0x00000006
58 #define DHCP_DROP_NO_SUBNETS 0x00000007
59 #define DHCP_DROP_INVALID 0x00000008
60 #define DHCP_DROP_WRONG_SERVER 0x00000009
61 #define DHCP_DROP_NOADDRESS 0x0000000A
62 #define DHCP_DROP_PROCESSED 0x0000000B
63 #define DHCP_DROP_GEN_FAILURE 0x00000100
64 #define DHCP_SEND_PACKET 0x10000000
65 #define DHCP_PROB_CONFLICT 0x20000001
66 #define DHCP_PROB_DECLINE 0x20000002
67 #define DHCP_PROB_RELEASE 0x20000003
68 #define DHCP_PROB_NACKED 0x20000004
69 #define DHCP_GIVE_ADDRESS_NEW 0x30000001
70 #define DHCP_GIVE_ADDRESS_OLD 0x30000002
71 #define DHCP_CLIENT_BOOTP 0x30000003
72 #define DHCP_CLIENT_DHCP 0x30000004
73
74 typedef DWORD (WINAPI *LPDHCP_CONTROL)(DWORD dwControlCode,LPVOID lpReserved);
75 typedef DWORD (WINAPI *LPDHCP_NEWPKT)(LPBYTE *Packet,DWORD *PacketSize,DWORD IpAddress,LPVOID Reserved,LPVOID *PktContext,LPBOOL ProcessIt);
76 typedef DWORD (WINAPI *LPDHCP_DROP_SEND)(LPBYTE *Packet,DWORD *PacketSize,DWORD ControlCode,DWORD IpAddress,LPVOID Reserved,LPVOID PktContext);
77 typedef DWORD (WINAPI *LPDHCP_PROB)(LPBYTE Packet,DWORD PacketSize,DWORD ControlCode,DWORD IpAddress,DWORD AltAddress,LPVOID Reserved,LPVOID PktContext);
78 typedef DWORD (WINAPI *LPDHCP_GIVE_ADDRESS)(LPBYTE Packet,DWORD PacketSize,DWORD ControlCode,DWORD IpAddress,DWORD AltAddress,DWORD AddrType,DWORD LeaseTime,LPVOID Reserved,LPVOID PktContext);
79 typedef DWORD (WINAPI *LPDHCP_HANDLE_OPTIONS)(LPBYTE Packet,DWORD PacketSize,LPVOID Reserved,LPVOID PktContext,LPDHCP_SERVER_OPTIONS ServerOptions);
80 typedef DWORD (WINAPI *LPDHCP_DELETE_CLIENT)(DWORD IpAddress,LPBYTE HwAddress,ULONG HwAddressLength,DWORD Reserved,DWORD ClientType);
81
82 typedef struct _DHCP_CALLOUT_TABLE {
83 LPDHCP_CONTROL DhcpControlHook;
84 LPDHCP_NEWPKT DhcpNewPktHook;
85 LPDHCP_DROP_SEND DhcpPktDropHook;
86 LPDHCP_DROP_SEND DhcpPktSendHook;
87 LPDHCP_PROB DhcpAddressDelHook;
88 LPDHCP_GIVE_ADDRESS DhcpAddressOfferHook;
89 LPDHCP_HANDLE_OPTIONS DhcpHandleOptionsHook;
90 LPDHCP_DELETE_CLIENT DhcpDeleteClientHook;
91 LPVOID DhcpExtensionHook;
92 LPVOID DhcpReservedHook;
93 } DHCP_CALLOUT_TABLE,*LPDHCP_CALLOUT_TABLE;
94
95 typedef DWORD (WINAPI *LPDHCP_ENTRY_POINT_FUNC)(LPWSTR ChainDlls,DWORD CalloutVersion,LPDHCP_CALLOUT_TABLE CalloutTbl);
96
97 #ifdef __cplusplus
98 }
99 #endif
100 #endif