/*++
*******************************************************************************
* Copyright (c) 1999-2000 Digi International Inc., All Rights Reserved        *
*                                                                             *
* This software contains proprietary and confidential information of Digi     *
* International Inc.  By accepting transfer of this copy, Recipient agrees    *
* to retain this software in confidence, to prevent disclosure to others,     *
* and to make no use of this software other than that for which it was        *
* delivered.  This is an unpublished copyrighted work of Digi International   *
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly   *
* prohibited.                                                                 *
*                                                                             *
* Restricted Rights Legend                                                    *
*                                                                             *
* Use, duplication, or disclosure by the Government is subject to             *
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in         *
* Technical Data and Computer Software clause at DFARS 252.227-7031 or        *
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -          *
* Restricted Rights at 48 CFR 52.227-19, as applicable.                       *
*                                                                             *
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343          *
*                                                                             *
*******************************************************************************

Module Name:

	asynsdxb.h

Abstract:

	Wrapper functions for the S/DXB firmware interface.

Author:

	Michael Zarns

--*/
#ifndef ASYNSDXB_H
#define ASYNSDXB_H

NTSTATUS SdxbSync( IN HANDLE  hStream, IN USHORT  SequenceNumber, IN BOOLEAN Drain );

NTSTATUS SdxbBufsize( IN HANDLE hStream );

NTSTATUS SdxbMstat( IN HANDLE  hStream, IN UCHAR Mint, IN UCHAR Mout, IN BOOLEAN ImmediateResponse );

NTSTATUS SdxbEvent( IN HANDLE hStream, IN USHORT Eint );

NTSTATUS SdxbLerr( IN HANDLE hStream, IN USHORT Ltime );

NTSTATUS SdxbPcap( IN HANDLE hStream );

NTSTATUS SdxbParam( IN HANDLE hStream, IN struct sdxb_param_command * pParam );

NTSTATUS SdxbWmark( IN HANDLE hStream, IN ULONG rlow, IN ULONG rhigh );

NTSTATUS SdxbSeq( IN HANDLE hStream, IN ULONG rmax, IN ULONG rtime, IN ULONG tmax, IN ULONG ttime, IN ULONG icdtime );

NTSTATUS SdxbScimmed( IN HANDLE hStream, IN UCHAR ImmediateChar );

NTSTATUS SdxbBreak( IN HANDLE hStream, IN USHORT btime );

NTSTATUS SdxbFlush( IN HANDLE hStream, IN UCHAR Flags );

NTSTATUS SdxbPause( IN HANDLE hStream, IN UCHAR pset, IN UCHAR preset );

NTSTATUS SdxbIsdn( IN HANDLE hStream, IN PVOID pBuf, IN ULONG cbBuf );

VOID	AsynOnHighPriorityCData( IN HANDLE Context, IN PVOID pControl, IN ULONG cbControl, IN PVOID pData, IN ULONG cbData ); 
VOID	AsynOnHighPriorityData( IN HANDLE Context, IN PVOID pData, IN ULONG cbData );

VOID	AsynOnCData( IN HANDLE Context, IN PVOID pControl, IN ULONG cbControl, IN PVOID pData, IN ULONG cbData ); 

#endif
