83 lines
2.1 KiB
C
83 lines
2.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1993-1999 Microsoft Corporation All rights reserved
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
dhcpcext.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
defines, typedefs, prototypes to enable clients to interface with
|
||
|
dhcp client
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Pradeepb 12/3/95
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
Notes:
|
||
|
|
||
|
Currently used by SHIVA for their RAS client. Currently, contains
|
||
|
stuff relevant only to poking DHCP client so that it notifies nbt (on WFW).
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _DHCPEXT_
|
||
|
#define _DHCPEXT_
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// Pass in the following for Type when you want to poke vdhcp with the
|
||
|
// ip address and any options that you get from the RAS server. The function
|
||
|
// to use is DhcpSetInfo or DhcpSetInfoR (used by SHIVA's RAS client).
|
||
|
//
|
||
|
#define DHCP_PPP_PARAMETER_SET 2
|
||
|
#define MAX_HARDWARE_ADDRESS_LENGTH 16
|
||
|
|
||
|
//
|
||
|
// Note: IpAddr should be in network order (like what the IP driver returns)
|
||
|
//
|
||
|
|
||
|
TDI_STATUS DhcpSetInfoR( UINT Type,
|
||
|
ULONG IpAddr, //new ip address
|
||
|
PNIC_INFO pNicInfo,
|
||
|
PVOID pBuff,
|
||
|
UINT Size ) ;
|
||
|
|
||
|
|
||
|
typedef struct _NIC_INFO {
|
||
|
ULONG IfIndex; //interface index
|
||
|
ULONG SubnetMask; //subnet mask in network order
|
||
|
ULONG OldIpAddress; //old ip address in network order
|
||
|
} NIC_INFO, *PNIC_INFO;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct _HARDWARE_ADDRESS {
|
||
|
DWORD Length; //length of hardware address in array below
|
||
|
CHAR Address[MAX_HARDWARE_ADDRESS_LENGTH];
|
||
|
} HARDWARE_ADDRESS, *PHARDWARE_ADDRESS;
|
||
|
|
||
|
//
|
||
|
// define PPP parameter set info buffer structure. Specify one option, its
|
||
|
// length and value.
|
||
|
//
|
||
|
|
||
|
typedef struct _PPP_SET_INFO {
|
||
|
HARDWARE_ADDRESS HardwareAddress; //specify your hardware address
|
||
|
DWORD ParameterOpCode; //ex. 44 for NBNS, 6 for DNS (#s are
|
||
|
// in dhcp rfc
|
||
|
DWORD ParameterLength; //length of Parameter Value in
|
||
|
//RawParmeter below
|
||
|
BYTE RawParameter[1];
|
||
|
} PPP_SET_INFO, *LP_PPP_SET_INFO;
|
||
|
|
||
|
#endif // _DHCPEXT_
|
||
|
|