dhcpcsdk.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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 _DHCPCSDK_
  7. #define _DHCPCSDK_
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #ifndef DHCP_OPTIONS_DEFINED
  12. #define DHCP_OPTIONS_DEFINED
  13. #define OPTION_PAD 0
  14. #define OPTION_SUBNET_MASK 1
  15. #define OPTION_TIME_OFFSET 2
  16. #define OPTION_ROUTER_ADDRESS 3
  17. #define OPTION_TIME_SERVERS 4
  18. #define OPTION_IEN116_NAME_SERVERS 5
  19. #define OPTION_DOMAIN_NAME_SERVERS 6
  20. #define OPTION_LOG_SERVERS 7
  21. #define OPTION_COOKIE_SERVERS 8
  22. #define OPTION_LPR_SERVERS 9
  23. #define OPTION_IMPRESS_SERVERS 10
  24. #define OPTION_RLP_SERVERS 11
  25. #define OPTION_HOST_NAME 12
  26. #define OPTION_BOOT_FILE_SIZE 13
  27. #define OPTION_MERIT_DUMP_FILE 14
  28. #define OPTION_DOMAIN_NAME 15
  29. #define OPTION_SWAP_SERVER 16
  30. #define OPTION_ROOT_DISK 17
  31. #define OPTION_EXTENSIONS_PATH 18
  32. #define OPTION_BE_A_ROUTER 19
  33. #define OPTION_NON_LOCAL_SOURCE_ROUTING 20
  34. #define OPTION_POLICY_FILTER_FOR_NLSR 21
  35. #define OPTION_MAX_REASSEMBLY_SIZE 22
  36. #define OPTION_DEFAULT_TTL 23
  37. #define OPTION_PMTU_AGING_TIMEOUT 24
  38. #define OPTION_PMTU_PLATEAU_TABLE 25
  39. #define OPTION_MTU 26
  40. #define OPTION_ALL_SUBNETS_MTU 27
  41. #define OPTION_BROADCAST_ADDRESS 28
  42. #define OPTION_PERFORM_MASK_DISCOVERY 29
  43. #define OPTION_BE_A_MASK_SUPPLIER 30
  44. #define OPTION_PERFORM_ROUTER_DISCOVERY 31
  45. #define OPTION_ROUTER_SOLICITATION_ADDR 32
  46. #define OPTION_STATIC_ROUTES 33
  47. #define OPTION_TRAILERS 34
  48. #define OPTION_ARP_CACHE_TIMEOUT 35
  49. #define OPTION_ETHERNET_ENCAPSULATION 36
  50. #define OPTION_TTL 37
  51. #define OPTION_KEEP_ALIVE_INTERVAL 38
  52. #define OPTION_KEEP_ALIVE_DATA_SIZE 39
  53. #define OPTION_NETWORK_INFO_SERVICE_DOM 40
  54. #define OPTION_NETWORK_INFO_SERVERS 41
  55. #define OPTION_NETWORK_TIME_SERVERS 42
  56. #define OPTION_VENDOR_SPEC_INFO 43
  57. #define OPTION_NETBIOS_NAME_SERVER 44
  58. #define OPTION_NETBIOS_DATAGRAM_SERVER 45
  59. #define OPTION_NETBIOS_NODE_TYPE 46
  60. #define OPTION_NETBIOS_SCOPE_OPTION 47
  61. #define OPTION_XWINDOW_FONT_SERVER 48
  62. #define OPTION_XWINDOW_DISPLAY_MANAGER 49
  63. #define OPTION_REQUESTED_ADDRESS 50
  64. #define OPTION_LEASE_TIME 51
  65. #define OPTION_OK_TO_OVERLAY 52
  66. #define OPTION_MESSAGE_TYPE 53
  67. #define OPTION_SERVER_IDENTIFIER 54
  68. #define OPTION_PARAMETER_REQUEST_LIST 55
  69. #define OPTION_MESSAGE 56
  70. #define OPTION_MESSAGE_LENGTH 57
  71. #define OPTION_RENEWAL_TIME 58
  72. #define OPTION_REBIND_TIME 59
  73. #define OPTION_CLIENT_CLASS_INFO 60
  74. #define OPTION_CLIENT_ID 61
  75. #define OPTION_TFTP_SERVER_NAME 66
  76. #define OPTION_BOOTFILE_NAME 67
  77. #define OPTION_END 255
  78. #endif
  79. #ifndef DHCPAPI_PARAMS_DEFINED
  80. #define DHCPAPI_PARAMS_DEFINED
  81. typedef struct _DHCPAPI_PARAMS {
  82. ULONG Flags;
  83. ULONG OptionId;
  84. WINBOOL IsVendor;
  85. LPBYTE Data;
  86. DWORD nBytesData;
  87. } DHCPAPI_PARAMS,*PDHCPAPI_PARAMS,*LPDHCPAPI_PARAMS;
  88. #endif
  89. typedef struct _DHCPAPI_PARAMS DHCPCAPI_PARAMS,*PDHCPCAPI_PARAMS,*LPDHCPCAPI_PARAMS;
  90. typedef struct _DHCPCAPI_PARAMS_ARARAY {
  91. ULONG nParams;
  92. LPDHCPCAPI_PARAMS Params;
  93. } DHCPCAPI_PARAMS_ARRAY,*PDHCPCAPI_PARAMS_ARRAY,*LPDHCPCAPI_PARAMS_ARRAY;
  94. typedef struct _DHCPCAPI_CLASSID {
  95. ULONG Flags;
  96. LPBYTE Data;
  97. ULONG nBytesData;
  98. } DHCPCAPI_CLASSID,*PDHCPCAPI_CLASSID,*LPDHCPCAPI_CLASSID;
  99. #define DHCPCAPI_REQUEST_PERSISTENT 0x01
  100. #define DHCPCAPI_REQUEST_SYNCHRONOUS 0x02
  101. #define DHCPCAPI_REQUEST_ASYNCHRONOUS 0x04
  102. #define DHCPCAPI_REQUEST_CANCEL 0x08
  103. #define DHCPCAPI_REQUEST_MASK 0x0F
  104. DWORD WINAPI DhcpCApiInitialize(LPDWORD Version);
  105. VOID WINAPI DhcpCApiCleanup(VOID);
  106. DWORD WINAPI DhcpRequestParams(DWORD Flags,LPVOID Reserved,LPWSTR AdapterName,LPDHCPCAPI_CLASSID ClassId,DHCPCAPI_PARAMS_ARRAY SendParams,DHCPCAPI_PARAMS_ARRAY RecdParams,LPBYTE Buffer,LPDWORD pSize,LPWSTR RequestIdStr);
  107. DWORD WINAPI DhcpUndoRequestParams(DWORD Flags,LPVOID Reserved,LPWSTR AdapterName,LPWSTR RequestIdStr);
  108. #define DHCPCAPI_REGISTER_HANDLE_EVENT 0x01
  109. DWORD WINAPI DhcpRegisterParamChange(DWORD Flags,LPVOID Reserved,LPWSTR AdapterName,LPDHCPCAPI_CLASSID ClassId,DHCPCAPI_PARAMS_ARRAY Params,LPVOID Handle);
  110. #define DHCPCAPI_DEREGISTER_HANDLE_EVENT 0x01
  111. DWORD WINAPI DhcpDeRegisterParamChange(DWORD Flags,LPVOID Reserved,LPVOID Event);
  112. DWORD WINAPI DhcpRemoveDNSRegistrations(VOID);
  113. #ifdef __cplusplus
  114. }
  115. #endif
  116. #endif