/*++

*****************************************************************************
*                                                                           *
*  This software contains proprietary and confiential 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.                                                              *
*                                                                           *
*****************************************************************************

Module Name:

   framing.h

Abstract:

   This header has information necessary to handle downlevel RAS Async.
   clients.  In downlevel clients, this was done via the compression
   mechanism in place for RAS.

   It also has any other relavent information regarding compression not
   specificed within the NT Wan enviroment.

Revision History:

   $Log: /Components/Windows/NT/Sync/Wan/COMPRESS.H $
 * 
 * 2     10/28/96 1:25p Mikez
 * Updated to support latest firmware release, v1.1.2b.
 * 
 * 1     6/20/96 7:21a Mikez
 * Revision 1.4  1995/10/06  06:59:32  Craig_Harrison
 * Version 1.0.1.2 
 * 
 * Revision 1.3  1995/09/15  00:00:00  Craig_Harrison
 * First beta release
 * 
 * Revision 1.1  1995/06/01  10:18:25  rik
 * Initial revision
 * 

--*/


////////////////////////////////////////////////////////////////////////////
//                      Old RAS Compression Information                   //
//                                                                        //
//    Note:  The following was given to us by MS RAS team to support      //
//           downlevel RAS Async clients.                                 //
////////////////////////////////////////////////////////////////////////////

// The defines below are for the compression bitmap field.

// No bits are set if compression is not available at all
#define COMPRESSION_NOT_AVAILABLE  0x00000000

// This bit is set if the mac can do version 1 compressed frames
#define COMPRESSION_VERSION1_8K     0x00000001
#define COMPRESSION_VERSION1_16K    0x00000002
#define COMPRESSION_VERSION1_32K    0x00000004
#define COMPRESSION_VERSION1_64K    0x00000008

// And this to turn off any compression feature bit
#define COMPRESSION_OFF_BIT_MASK (~(COMPRESSION_VERSION1_8K    | \
                                    COMPRESSION_VERSION1_16K   | \
                                    COMPRESSION_VERSION1_32K   | \
                                    COMPRESSION_VERSION1_64K) )

// We need to find a place to put the following supported featurettes...
#define XON_XOFF_SUPPORTED          0x00000010

#define COMPRESS_BROADCAST_FRAMES   0x00000080

#define UNKNOWN_FRAMING             0x00010000
#define NO_FRAMING                  0x00020000


//
// this structure is used to read/set configurable 'feature' options
// during authentication this structure is passed and an
// agreement is made which features to support
//
typedef struct _ASYMAC_FEATURES_
{
   ULONG SendFeatureBits;  // A bit field of compression/features sendable
   ULONG RecvFeatureBits;  // A bit field of compression/features receivable
   ULONG MaxSendFrameSize; // Maximum frame size that can be sent
                           // must be less than or equal default
   ULONG MaxRecvFrameSize; // Maximum frame size that can be rcvd
                           // must be less than or equal default
   
   ULONG LinkSpeed;        // New RAW link speed in bits/sec
                           // Ignored if 0
} ASYMAC_FEATURES, *PASYMAC_FEATURES;


