330 lines
6.1 KiB
C
330 lines
6.1 KiB
C
/*++
|
||
|
||
Copyright (c) 1996 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
nteapi.h
|
||
|
||
Abstract:
|
||
|
||
Definitions of routines for manipulating dynamic IP Network Table
|
||
Entries (NTEs) and NBT devices (interfaces).
|
||
|
||
Author:
|
||
|
||
Mike Massa (mikemas) 18-Mar-1996
|
||
|
||
Environment:
|
||
|
||
User Mode - Win32
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#ifndef _NTEAPI_INCLUDED_
|
||
#define _NTEAPI_INCLUDED_
|
||
|
||
|
||
//
|
||
// Types
|
||
//
|
||
typedef struct {
|
||
unsigned long Instance;
|
||
IPAddr Address;
|
||
IPMask SubnetMask;
|
||
unsigned long Flags;
|
||
} TCPIP_NTE_INFO, *PTCPIP_NTE_INFO;
|
||
|
||
#define TCPIP_NTE_DYNAMIC 0x00000010
|
||
|
||
|
||
//
|
||
// APIs
|
||
//
|
||
DWORD
|
||
TcpipAddNTE(
|
||
IN LPWSTR AdapterName,
|
||
IN IPAddr Address,
|
||
IN IPMask SubnetMask,
|
||
OUT PULONG NTEContext,
|
||
OUT PULONG NTEInstance
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Adds a new NTE to a specified IP interface. The target IP interface is
|
||
identified by the name of the adapter associated with it.
|
||
|
||
Arguments:
|
||
|
||
AdapterName - A unicode string identifying the adapter/interface to which
|
||
to add the new NTE.
|
||
|
||
Address - The IP address to assign to the new NTE.
|
||
|
||
SubnetMask - The IP subnet mask to assign to the new NTE.
|
||
|
||
NTEContext - On output, contains the context value identifying the new NTE.
|
||
|
||
NTEInstance - On output, contains the instance ID of the new NTE.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
TcpipDeleteNTE(
|
||
IN ULONG NTEContext
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Deletes a specified NTE. The target NTE must have been added using
|
||
TcpipAddNTE.
|
||
|
||
Arguments:
|
||
|
||
NTEContext - The context value identifying the NTE to delete.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
TcpipSetNTEAddress(
|
||
IN DWORD NTEContext,
|
||
IN IPAddr Address,
|
||
IN IPMask SubnetMask
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Sets the address of a specified NTE.
|
||
|
||
Arguments:
|
||
|
||
NTEContext - The context value identifying the target NTE.
|
||
|
||
Address - The IP address to assign to the NTE. Assigning 0.0.0.0
|
||
invalidates the NTE.
|
||
|
||
SubnetMask - The IP subnet mask to assign to the NTE.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
TcpipGetNTEInfo(
|
||
IN ULONG NTEContext,
|
||
OUT PTCPIP_NTE_INFO NTEInfo
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Gathers information about a specified NTE.
|
||
|
||
Arguments:
|
||
|
||
NTEContext - The context value identifying the NTE to query.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
NbtAddInterface(
|
||
OUT LPWSTR DeviceName,
|
||
IN OUT LPDWORD DeviceNameSize,
|
||
OUT PULONG DeviceInstance
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Adds a new NBT interface.
|
||
|
||
Arguments:
|
||
|
||
DeviceName - A unicode string identifying the new NBT interface.
|
||
|
||
DeviceNameSize - On input, the size of theh device name buffer.
|
||
On output, the size of the device name string, or
|
||
the size needed to accomodate the string.
|
||
|
||
DeviceInstance - A pointer to a variable into which to place the
|
||
instance ID associated with the new interface.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
NbtDeleteInterface(
|
||
IN LPWSTR DeviceName
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Deletes an NBT interface.
|
||
|
||
Arguments:
|
||
|
||
DeviceName - A unicode string identifying the target NBT interface.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
NbtBindInterface(
|
||
IN LPWSTR DeviceName,
|
||
IN IPAddr Address,
|
||
IN IPMask SubnetMask
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Binds a specified NBT interface to a specified IP address.
|
||
|
||
Arguments:
|
||
|
||
DeviceName - A unicode string identifying the target NBT interface.
|
||
|
||
Address - The IP address to which bind the interface. Assigning 0.0.0.0
|
||
invalidates the interface.
|
||
|
||
SubnetMask - The subnet mask of the IP interface.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
DWORD
|
||
NbtSetWinsAddrInterface(
|
||
IN LPWSTR DeviceName,
|
||
IN IPAddr PrWinsAddress,
|
||
IN IPAddr SecWinsAddress
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Sets the WINS addrs for a given Nbt Interface.
|
||
|
||
Arguments:
|
||
|
||
DeviceName - A unicode string identifying the target NBT interface.
|
||
|
||
PrWinsAddress - Primary WINS addr
|
||
|
||
SecWinsAddress - Secondary WINS addr
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
DWORD
|
||
NbtGetInterfaceInfo(
|
||
IN LPWSTR DeviceName,
|
||
OUT IPAddr * Address,
|
||
OUT PULONG DeviceInstance
|
||
);
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Returns the IP address to which an NBT interface is bound and the interface
|
||
instance ID.
|
||
|
||
Arguments:
|
||
|
||
DeviceName - A unicode string identifying the target NBT interface.
|
||
|
||
Address - A pointer to the location in which to store the address of the
|
||
interface.
|
||
|
||
DeviceInstance - A pointer to the location in which to store the instance ID
|
||
associated with the interface.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
DWORD
|
||
NbtGetWinsAddresses(
|
||
IN LPWSTR DeviceName,
|
||
OUT IPAddr * PrimaryWinsServer,
|
||
OUT IPAddr * SecondaryWinsServer
|
||
);
|
||
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
Returns the addresses of the WINS servers for which the specified device
|
||
is configured.
|
||
|
||
Arguments:
|
||
|
||
DeviceName - A unicode string identifying the target NBT interface.
|
||
|
||
PrimaryWinsServer - A pointer to a variable into which to place the address
|
||
of the primary WINS server.
|
||
|
||
SecondaryWinsServer - A pointer to a variable into which to place the address
|
||
of the primary WINS server.
|
||
|
||
Return Value:
|
||
|
||
ERROR_SUCCESS if the operation was successful.
|
||
A Windows error code otherwise.
|
||
|
||
--*/
|
||
|
||
|
||
#endif // ifndef _NTEAPI_INCLUDED_
|
||
|
||
|