home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / Guide.lzx / Guide / Device / Serial.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-11  |  6.5 KB  |  167 lines

  1. @DATABASE "Device/Serial.h"
  2. @MASTER   "Work2:AD/IInc/Device/Serial.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:33:48
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "Device/Serial.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"Device/Serial.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_SerialIO" LINK "Device/Serial.h/File" 21}
  16.  
  17. @ENDNODE
  18. @NODE File "Device/Serial.h"
  19. #ifndef __INC_POS_DEVICE_SERIAL_H
  20. #define __INC_POS_DEVICE_SERIAL_H
  21. /*******************************************************************
  22.  Includes Release 24
  23.  (C) Copyright 1995-1997 proDAD
  24.      All Rights Reserved
  25.  
  26.  $AUT Holger Burkarth
  27.  $DAT >>Serial.h<<   19 Nov 1996    11:23:44 - (C) ProDAD
  28. *******************************************************************/
  29. #ifndef __INC_POS_PEXEC_DEVICE_H
  30. #include <@{"pExec/Device.h" LINK "pExec/Device.h/File"}>
  31. #endif
  32. #ifndef __INC_POS_DEVICE_IOTERM_H
  33. #include <@{"Device/IOTerm.h" LINK "Device/IOTerm.h/File"}>
  34. #endif
  35.  
  36.  
  37. /*----------------------------------
  38. -----------------------------------*/
  39. struct pOS_SerialIO
  40. {
  41. /* @{"struct pOS_IOStdReq" LINK "pExec/Device.h/File" 66} */
  42.  
  43.   @{"struct pOS_Message" LINK "pExec/MsgPort.h/File" 41}  sio_Message;
  44.   @{"struct pOS_Device" LINK "pExec/Device.h/File" 21}  *sio_Device;    /* device node pointer  */
  45.   @{"struct pOS_Unit" LINK "pExec/Device.h/File" 29}    *sio_Unit;      /* unit (driver private)*/
  46.   @{"UWORD" LINK "pExec/Types.h/File" 93}               sio_Command;   /* (enum pOS_IOReqCommands) */
  47.   @{"UBYTE" LINK "pExec/Types.h/File" 95}               sio_Flags;     /* (enum pOS_IOReqFlags) */
  48.   @{"SBYTE" LINK "pExec/Types.h/File" 94}               sio_Error;     /* (enum pOS_IOReqErrors) */
  49.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_Actual;    /* actual number of bytes transferred */
  50.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_Length;    /* requested number bytes transferred */
  51.   @{"APTR" LINK "pExec/Types.h/File" 87}                sio_Data;      /* points to data area */
  52.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_Offset;    /* unused */
  53.  
  54.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_CtlChar;   /* control char's (order = xON,xOFF,INQ,ACK) 0x11130000 */
  55.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_RBufLen;   /* length in bytes of serial port's read buffer */
  56.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_ExtFlags;  /* (enum pOS_SerialExtFlags) */
  57.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_Baud;      /* baud rate requested (true baud) */
  58.   @{"ULONG" LINK "pExec/Types.h/File" 91}               sio_BrkTime;   /* duration of break signal in MICROseconds */
  59.   @{"struct pOS_IOTArray" LINK "Device/IOTerm.h/File" 18} sio_TArray;    /* termination character array */
  60.   @{"UBYTE" LINK "pExec/Types.h/File" 95}               sio_ReadLen;   /* bits per read character (# of bits) */
  61.   @{"UBYTE" LINK "pExec/Types.h/File" 95}               sio_WriteLen;  /* bits per write character (# of bits) */
  62.   @{"UBYTE" LINK "pExec/Types.h/File" 95}               sio_StopBits;  /* stopbits for read (# of bits) */
  63.   @{"UBYTE" LINK "pExec/Types.h/File" 95}               sio_SerFlags;  /* (enum pOS_SerialFlags) */
  64.   @{"UWORD" LINK "pExec/Types.h/File" 93}               sio_Status;    /* (enum pOS_SerialStatus) */
  65. };
  66.  
  67.  
  68. enum pOS_SerialFlags
  69. {
  70.   SERB_XDisabled = 7,       /* xOn-xOff feature disabled bit */
  71.   SERF_XDisabled = (1<<7),  /* xOn-xOff feature disabled mask */
  72.   SERB_EOFMode   = 6,       /* EOF mode enabled bit */
  73.   SERF_EOFMode   = (1<<6),  /* EOF mode enabled mask */
  74.   SERB_Shared    = 5,       /* non-exclusive access bit */
  75.   SERF_Shared    = (1<<5),  /* non-exclusive access mask */
  76.   SERB_RADBoogie = 4,       /* high-speed mode active bit */
  77.   SERF_RADBoogie = (1<<4),  /* high-speed mode active mask */
  78.   SERB_QueuedBrk = 3,       /* queue this Break ioRqst */
  79.   SERF_QueuedBrk = (1<<3),  /* queue this Break ioRqst */
  80.   SERB_7Wire     = 2,       /* RS232 7-wire protocol */
  81.   SERF_7Wire     = (1<<2),  /* RS232 7-wire protocol */
  82.   SERB_PartyOdd  = 1,       /* parity feature enabled bit */
  83.   SERF_PartyOdd  = (1<<1),  /* parity feature enabled mask */
  84.   SERB_PartyOn   = 0,       /* parity-enabled bit */
  85.   SERF_PartyOn   = (1<<0)   /* parity-enabled mask */
  86. };
  87.  
  88.  
  89.  
  90. /* status of serial port, as follows:
  91. *        BIT  ACTIVE  FUNCTION
  92. *         0    ---    reserved
  93. *         1    ---    reserved
  94. *         2    ---    reserved
  95. *         3    low    Data Set Ready
  96. *         4    low    Clear To Send
  97. *         5    low    Carrier Detect
  98. *         6    low    Ready To Send
  99. *         7    low    Data Terminal Ready
  100. *         8    high   read overrun
  101. *         9    high   break sent
  102. *        10    high   break received
  103. *        11    high   transmit x-OFFed
  104. *        12    high   receive x-OFFed
  105. *     13-15    ---    reserved
  106. */
  107.  
  108. enum pOS_SerialStatus
  109. {
  110.   SERSTAB_XOffRead   = 12,       /* receive currently xOFF'ed bit */
  111.   SERSTAF_XOffRead   = (1<<12),  /* receive currently xOFF'ed mask */
  112.   SERSTAB_XOffWrite  = 11,       /* transmit currently xOFF'ed bit */
  113.   SERSTAF_XOffWrite  = (1<<11),  /* transmit currently xOFF'ed mask */
  114.   SERSTAB_ReadBreak  = 10,       /* break was latest input bit */
  115.   SERSTAF_ReadBreak  = (1<<10),  /* break was latest input mask */
  116.   SERSTAB_WroteBreak = 9,        /* break was latest output bit */
  117.   SERSTAF_WroteBreak = (1<<9),   /* break was latest output mask */
  118.   SERSTAB_Overrun    = 8,        /* status word RBF overrun bit */
  119.   SERSTAF_Overrun    = (1<<8),   /* status word RBF overrun mask */
  120.   SERSTAB_nDTR       = 7,
  121.   SERSTAF_nDTR       = (1<<7),
  122.   SERSTAB_nRTS       = 6,
  123.   SERSTAF_nRTS       = (1<<6),
  124.   SERSTAB_nCD        = 5,
  125.   SERSTAF_nCD        = (1<<5),
  126.   SERSTAB_nCTS       = 4,
  127.   SERSTAF_nCTS       = (1<<4),
  128.   SERSTAB_nDSR       = 3,
  129.   SERSTAF_nDST       = (1<<3)
  130. };
  131.  
  132.  
  133. enum pOS_SerialExtFlags
  134. {
  135.   SEXTB_MSPOn = 1,       /* Use mark-space parity, instead of odd-even. */
  136.   SEXTF_MSPOn = (1<<1),  /* mark-space parity mask */
  137.   SEXTB_Mark  = 0,       /* if mark-space, use mark */
  138.   SEXTF_Mark  = (1<<0),  /* if mark-space, use mark mask */
  139. };
  140.  
  141.  
  142.  
  143. enum pOS_SerialIOReqCommands
  144. {
  145.   SERCMD_Query = CMD_NONSTD,
  146.   SERCMD_Break,
  147.   SERCMD_SetParams,
  148. };
  149.  
  150.  
  151. enum pOS_SerialIOReqErrors
  152. {
  153.   SERIOERR_DevBusy       =1,
  154.   SERIOERR_BaudMismatch,      /* baud rate not supported by hardware */
  155.   SERIOERR_BufErr        =4,  /* Failed to allocate new read buffer */
  156.   SERIOERR_InvParam,
  157.   SERIOERR_LineErr,
  158.   SERIOERR_ParityErr     =9,
  159.   SERIOERR_TimerErr      =11,
  160.   SERIOERR_BufOverflow,
  161.   SERIOERR_NoDSR,
  162.   SERIOERR_DetectedBreak =15
  163. };
  164.  
  165. #endif
  166. @ENDNODE
  167.