#ifndef __INC_POS_DEVICE_CONSOLE_H
#define __INC_POS_DEVICE_CONSOLE_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>Console.h<<   19 Nov 1996    11:09:46 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PEXEC_DEVICE_H
#include <pExec/Device.h>
#endif

enum pOS_ConsoleDeviceUnitNum
{
/* ---- console unit numbers for pOS_OpenDevice() */
  CONUNUM_Library=   -1,        /* no unit, just fill in io_Device field */
  CONUNUM_Standard=   0         /* standard unmapped console */
};



enum pOS_ConsoleIOReqCommands
{
 CMDCD_AskKeyMap= CMD_NONSTD,
 CMDCD_SetKeyMap,
 CMDCD_AskDefaultKeyMap,
 CMDCD_SetDefaultKeyMap,
 CMDCD_InitStruct,
 CMDCD_Slide        /* cio_Data */
};


 struct pOS_ConsoleDevice {struct pOS_Device Dev; };


/*----------------------------------
-----------------------------------*/
struct pOS_ConsoleInitStruct
{
  struct pOS_Window *cis_Window;
  struct pOS_Gadget *cis_VPropGad;
  UWORD              cis_Lines;

  UBYTE cis_Reserved[16];
};




/*----------------------------------
-----------------------------------*/
struct pOS_ConsoleStdReq
{
  struct pOS_Message        cio_Message;
  struct pOS_ConsoleDevice *cio_Device;  /* device node pointer  */
  struct pOS_ConsoleUnit   *cio_Unit;    /* unit (driver private) */
  UWORD                     cio_Command; /* (enum pOS_IOReqCommands) */
  UBYTE                     cio_Flags;   /* (enum pOS_IOReqFlags) */
  SBYTE                     cio_Error;   /* (enum pOS_IOReqErrors) */
  ULONG                     cio_Actual;  /* actual number of bytes transferred */
  ULONG                     cio_Length;  /* requested number bytes transferred */
  APTR                      cio_Data;    /* points to data area */
  ULONG                     cio_Offset;  /* offset for block structured devices */
};


#endif
