text: /*++
  
  Copyright (c) 1992 Microsoft Corporation
  
  Module Name:
  
      wsbind.h
  
  Abstract:
  
      Private header file to be included by Workstation service modules that
      need to call into the NT Redirector and the NT Datagram Receiver.
  
  Author:
  
      Vladimir Z. Vulovic     (vladimv)       August - 08 -1991
  
  Revision History:
  
  --*/
  
  
  #ifndef _WSBIND_INCLUDED_
  #define _WSBIND_INCLUDED_
  
  typedef struct _WS_BIND_REDIR {
      HANDLE              EventHandle;    
      BOOL                Bound;
      IO_STATUS_BLOCK     IoStatusBlock;
      LMR_REQUEST_PACKET  Packet;
  } WS_BIND_REDIR, *PWS_BIND_REDIR;
  
  typedef struct _WS_BIND_DGREC {
      HANDLE              EventHandle;    
      BOOL                Bound;
      IO_STATUS_BLOCK     IoStatusBlock;
      LMDR_REQUEST_PACKET  Packet;
  } WS_BIND_DGREC, *PWS_BIND_DGREC;
  
  typedef struct _WS_BIND {
      LIST_ENTRY          ListEntry;
      PWS_BIND_REDIR      Redir;
      PWS_BIND_DGREC      Dgrec;
      ULONG               TransportNameLength;  // not including terminator
      WCHAR               TransportName[1];     // Name of transport provider
  } WS_BIND, *PWS_BIND;
  
  
  NET_API_STATUS
  WsAsyncBindTransport(
      IN  LPTSTR          transportName,
      IN  DWORD           qualityOfService,
      IN  PLIST_ENTRY     pHeader
      );
  
  VOID
  WsUnbindTransport2(
      IN  PWS_BIND        pBind
      );
  
  extern HANDLE   WsRedirAsyncDeviceHandle;   // redirector
  extern HANDLE   WsDgrecAsyncDeviceHandle;   // datagram receiver or "bowser"
  
  #endif // ifndef _WSBIND_INCLUDED_
  