/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS TCP/IP protocol driver * FILE: include/ports.h * PURPOSE: Port allocation * PROGRAMMERS: arty (ayerkes@speakeasy.net) * REVISIONS: * arty 20041114 Created */ #pragma once typedef struct _PORT_SET { RTL_BITMAP ProtoBitmap; PVOID ProtoBitBuffer; UINT StartingPort; UINT PortsToOversee; KSPIN_LOCK Lock; } PORT_SET, *PPORT_SET; NTSTATUS PortsStartup( PPORT_SET PortSet, UINT StartingPort, UINT PortsToManage ); VOID PortsShutdown( PPORT_SET PortSet ); VOID DeallocatePort( PPORT_SET PortSet, ULONG Port ); BOOLEAN AllocatePort( PPORT_SET PortSet, ULONG Port ); ULONG AllocateAnyPort( PPORT_SET PortSet ); ULONG AllocatePortFromRange( PPORT_SET PortSet, ULONG Lowest, ULONG Highest );