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.
135 lines
2.6 KiB
135 lines
2.6 KiB
/*++
|
|
|
|
Copyright (c) 1994-1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ipcfginc.h
|
|
|
|
Abstract:
|
|
|
|
Contains all includes, definitions, types, prototypes for ipconfig
|
|
|
|
Author:
|
|
|
|
Richard L Firth (rfirth) 20-May-1994
|
|
|
|
Revision History:
|
|
|
|
20-May-1994 rfirth Created
|
|
20-May-97 MohsinA NT50 PNP.
|
|
31-Jul-97 MohsinA Patterns.
|
|
10-Mar-98 chunye Renamed as ipcfginc.h for ipcfgdll support.
|
|
|
|
--*/
|
|
|
|
#ifndef _IPCFGINC_
|
|
#define _IPCFGINC_ 1
|
|
|
|
|
|
#include "common.h"
|
|
#include "iptypes.h"
|
|
#include "ipconfig.h"
|
|
|
|
|
|
//
|
|
// IS_INTERESTING_ADAPTER - TRUE if the type of this adapter (IFEntry) is NOT
|
|
// loopback. Loopback (corresponding to local host) is the only one we filter
|
|
// out right now
|
|
//
|
|
|
|
#define IS_INTERESTING_ADAPTER(p) (!((p)->if_type == IF_TYPE_SOFTWARE_LOOPBACK))
|
|
|
|
//
|
|
// Alloc and Free used in adaptlst.c
|
|
//
|
|
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
|
|
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
|
|
|
|
//
|
|
// Maxumum uni directional adapter that is supported
|
|
// by default
|
|
//
|
|
#define MAX_UNI_ADAPTERS 10
|
|
|
|
//
|
|
// iphlppai.dll roiutine to get unidirectional adapter info
|
|
//
|
|
extern
|
|
DWORD
|
|
GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo,
|
|
PULONG dwOutBufLen);
|
|
|
|
|
|
//
|
|
// types
|
|
//
|
|
|
|
#ifndef _AVOID_IP_ADDRESS
|
|
//
|
|
// 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;
|
|
#endif // _AVOID_IP_ADDRESS
|
|
|
|
|
|
//
|
|
// prototypes
|
|
//
|
|
|
|
//
|
|
// From ipconfig.c
|
|
//
|
|
|
|
BOOL Initialize(PDWORD);
|
|
BOOL LoadAndLinkDhcpFunctions(VOID);
|
|
VOID Terminate(VOID);
|
|
|
|
|
|
//
|
|
// From entity.c
|
|
//
|
|
|
|
TDIEntityID* GetEntityList(UINT*);
|
|
|
|
//
|
|
// From adaptlst.c
|
|
//
|
|
|
|
PIP_ADAPTER_INFO GetAdapterList(VOID);
|
|
INT AddIpAddress(PIP_ADDR_STRING, DWORD, DWORD, DWORD);
|
|
INT AddIpAddressString(PIP_ADDR_STRING, LPSTR, LPSTR);
|
|
INT PrependIpAddress(PIP_ADDR_STRING, DWORD, DWORD, DWORD);
|
|
VOID ConvertIpAddressToString(DWORD, LPSTR);
|
|
VOID CopyString(LPSTR, DWORD, LPSTR);
|
|
VOID KillAdapterInfo(PIP_ADAPTER_INFO);
|
|
|
|
|
|
//
|
|
// From wins.c
|
|
//
|
|
|
|
BOOL GetWinsServers(PIP_ADAPTER_INFO);
|
|
|
|
|
|
//
|
|
// In debug.c
|
|
//
|
|
|
|
#ifdef DBG
|
|
|
|
void print_IP_ADDRESS_STRING(char *message, IP_ADDRESS_STRING *s);
|
|
void print_IP_ADDR_STRING(char *message, PIP_ADDR_STRING s);
|
|
void print_IP_ADAPTER_INFO(char *message, IP_ADAPTER_INFO *s);
|
|
void print_FIXED_INFO(char *message, FIXED_INFO *s);
|
|
void print_IFEntry(char *message, struct IFEntry *s);
|
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|