windows-nt/Source/XPSP1/NT/shell/ext/hnw/nconn32/w9xdhcp.h
2020-09-26 16:20:57 +08:00

95 lines
1.9 KiB
C

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2001
//
// File: W 9 X D H C P . H
//
// Contents: Routines supporting RAS interoperability
//
// Notes:
//
// Author: billi 04 04 2001
//
// History:
//
//----------------------------------------------------------------------------
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#ifndef IP_TYPES_INCLUDED
#include <iptypes.h>
#endif
//
// defines
//
#define DHCP_QUERY_INFO 1
#define DHCP_RENEW_IPADDRESS 2
#define DHCP_RELEASE_IPADDRESS 3
#define DHCP_CLIENT_API 4
#define DHCP_IS_MEDIA_DISCONNECTED 5
//
// types
//
typedef struct _DHCP_HW_INFO {
DWORD OffsetHardwareAddress;
DWORD HardwareLength;
} DHCP_HW_INFO, *LPDHCP_HW_INFO;
//
// IP_ADDRESS - access an IP address as a single DWORD or 4 BYTEs
//
typedef union {
DWORD d;
BYTE b[4];
} IP_ADDRESS, *PIP_ADDRESS, IP_MASK, *PIP_MASK;
//
// ADAPTER_INFO - per-adapter information. All IP addresses are stored as
// strings
//
typedef struct _ADAPTER_INFO
{
struct _ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 1];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 1];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
UINT Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
BOOL fMediaDisconnected;
}
ADAPTER_INFO, *PADAPTER_INFO;
BOOL IsMediaDisconnected( IN OUT DWORD iae_context );
DWORD DhcpReleaseAdapterIpAddress( PADAPTER_INFO AdapterInfo );
DWORD DhcpRenewAdapterIpAddress( PADAPTER_INFO AdapterInfo );
#ifdef __cplusplus
}
#endif