Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1993-1999 Microsoft Corporation All rights reserved
  3. Module Name:
  4. dhcpcext.h
  5. Abstract:
  6. defines, typedefs, prototypes to enable clients to interface with
  7. dhcp client
  8. Author:
  9. Pradeepb 12/3/95
  10. Revision History:
  11. Notes:
  12. Currently used by SHIVA for their RAS client. Currently, contains
  13. stuff relevant only to poking DHCP client so that it notifies nbt (on WFW).
  14. --*/
  15. #ifndef _DHCPEXT_
  16. #define _DHCPEXT_
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif
  20. //
  21. // Pass in the following for Type when you want to poke vdhcp with the
  22. // ip address and any options that you get from the RAS server. The function
  23. // to use is DhcpSetInfo or DhcpSetInfoR (used by SHIVA's RAS client).
  24. //
  25. #define DHCP_PPP_PARAMETER_SET 2
  26. #define MAX_HARDWARE_ADDRESS_LENGTH 16
  27. //
  28. // Note: IpAddr should be in network order (like what the IP driver returns)
  29. //
  30. TDI_STATUS DhcpSetInfoR( UINT Type,
  31. ULONG IpAddr, //new ip address
  32. PNIC_INFO pNicInfo,
  33. PVOID pBuff,
  34. UINT Size ) ;
  35. typedef struct _NIC_INFO {
  36. ULONG IfIndex; //interface index
  37. ULONG SubnetMask; //subnet mask in network order
  38. ULONG OldIpAddress; //old ip address in network order
  39. } NIC_INFO, *PNIC_INFO;
  40. typedef struct _HARDWARE_ADDRESS {
  41. DWORD Length; //length of hardware address in array below
  42. CHAR Address[MAX_HARDWARE_ADDRESS_LENGTH];
  43. } HARDWARE_ADDRESS, *PHARDWARE_ADDRESS;
  44. //
  45. // define PPP parameter set info buffer structure. Specify one option, its
  46. // length and value.
  47. //
  48. typedef struct _PPP_SET_INFO {
  49. HARDWARE_ADDRESS HardwareAddress; //specify your hardware address
  50. DWORD ParameterOpCode; //ex. 44 for NBNS, 6 for DNS (#s are
  51. // in dhcp rfc
  52. DWORD ParameterLength; //length of Parameter Value in
  53. //RawParmeter below
  54. BYTE RawParameter[1];
  55. } PPP_SET_INFO, *LP_PPP_SET_INFO;
  56. #endif // _DHCPEXT_