windows-nt/Source/XPSP1/NT/base/cluster/resdll/ipaddr/nteapi.h
2020-09-26 16:20:57 +08:00

330 lines
6.1 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
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_