/*DDK*************************************************************************/
/*                                                                           */
/* COPYRIGHT (C) Microsoft Corporation, 1989                                 */
/* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
/*                                                                           */
/*    The following IBM OS/2 WARP source code is provided to you solely for  */
/*    the purpose of assisting you in your development of OS/2 WARP device   */
/*    drivers. You may use this code in accordance with the IBM License      */
/*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
/*    Copyright statement may not be removed.                                */
/*                                                                           */
/*****************************************************************************/
/**************************************************************************
 *
 * SOURCE FILE NAME = DOSIO.H
 *
 * DESCRIPTIVE NAME =
 *
 *
 * VERSION = V2.0
 *
 * DATE        09/18/89
 *
 * DESCRIPTION
 *
 *
 * FUNCTIONS
 *
 *
 *
 *
 * NOTES
 *
 *
 * STRUCTURES
 *
 * EXTERNAL REFERENCES
 *
 * EXTERNAL FUNCTIONS
 *
*/

#define  SPOOLERSUPPORT 1
#define  IEEESUPPORT   0
#define  OUTBUFSIZE    16L             /* Maximum plotter output size 256   */

/*
**      Functions made available to the outside world
*/
extern VOID    output_bytes ( PDDC, PSZ );
extern VOID    bin_output_bytes(PDDC, PBYTE, ULONG);
extern USHORT  perform_std_spooling ( PDDC, HDC );
extern BOOL    open_file_or_device ( PDDC );
extern USHORT  close_file_or_device ( PDDC, PPDEVICE );
extern LHANDLE open_spooler_queue ( PDDC );


typedef struct                         /*                                   */
{
  BYTE bDataBits;                      /* Number of data bits per character */
  BYTE bParity;                        /* Parity: on/off, even odd          */
  BYTE bStopBits;                      /* 1, 1.5 or 2                       */
  BYTE fbTransBreak;                   /* Only used for GetLineControl....  */
} LINECONTROL;

typedef struct
{
  /*
  **  In 10ms units, delay is this value + 1
  */
  USHORT usWriteTimeout;
  USHORT usReadTimeout;                /* Ditto, but for read               */
  /*
  **  Handshaking modes: DTR, DSR, CTS, DCD
  */
  BYTE fbCtlHndShake;
  BYTE fbFlowReplace;                  /* Flow control/replacement modes    */
  BYTE fbTimeout;                      /* Enable/disable read/write timeout */
  BYTE bErrorReplacementChar;          /* Name is too long                  */
  BYTE bBreakReplacementChar;
  BYTE bXONChar;                       /* Char to use for XON               */
  BYTE bXOFFChar;                      /* Ditto for XOFF                    */
} DCBINFO;

