1 #ifndef DEVICES_SERIAL_H
    2 #define DEVICES_SERIAL_H
    3 
    4 /*
    5 	serial.device include
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef EXEC_IO_H
   11 # include <exec/io.h>
   12 #endif
   13 
   14 #pragma pack(2)
   15 
   16 
   17 struct IOTArray
   18 {
   19 	ULONG TermArray0;
   20 	ULONG TermArray1;
   21 };
   22 
   23 
   24 #define SER_DEFAULT_CTLCHAR  0x11130000
   25 
   26 
   27 struct IOExtSer
   28 {
   29 	struct IOStdReq IOSer;
   30 
   31 	ULONG            io_CtlChar;
   32 	ULONG            io_RBufLen;
   33 	ULONG            io_ExtFlags;
   34 	ULONG            io_Baud;
   35 	ULONG            io_BrkTime;
   36 	struct IOTArray  io_TermArray;
   37 	UBYTE            io_ReadLen;
   38 	UBYTE            io_WriteLen;
   39 	UBYTE            io_StopBits;
   40 	UBYTE            io_SerFlags;
   41 	UWORD            io_Status;
   42 };
   43 
   44 
   45 #define SDCMD_QUERY      (CMD_NONSTD + 0)
   46 #define SDCMD_BREAK      (CMD_NONSTD + 1)
   47 #define SDCMD_SETPARAMS  (CMD_NONSTD + 2)
   48 
   49 
   50 #define SERB_XDISABLED       7
   51 #define SERF_XDISABLED       (1<<SERB_XDISABLED)
   52 #define SERB_EOFMODE         6
   53 #define SERF_EOFMODE         (1<<SERB_EOFMODE)
   54 #define SERB_SHARED          5
   55 #define SERF_SHARED          (1<<SERB_SHARED)
   56 #define SERB_RAD_BOOGIE      4
   57 #define SERF_RAD_BOOGIE      (1<<SERB_RAD_BOOGIE)
   58 #define SERB_QUEUEDBRK       3
   59 #define SERF_QUEUEDBRK       (1<<SERB_QUEUEDBRK)
   60 #define SERB_7WIRE           2
   61 #define SERF_7WIRE           (1<<SERB_7WIRE)
   62 #define SERB_PARTY_ODD       1
   63 #define SERF_PARTY_ODD       (1<<SERB_PARTY_ODD)
   64 #define SERB_PARTY_ON        0
   65 #define SERF_PARTY_ON        (1<<SERB_PARTY_ON)
   66 
   67 #define IO_STATB_XOFFREAD    12
   68 #define IO_STATF_XOFFREAD    (1<<IO_STATB_XOFFREAD)
   69 #define IO_STATB_XOFFWRITE   11
   70 #define IO_STATF_XOFFWRITE   (1<<IO_STATB_XOFFWRITE)
   71 #define IO_STATB_READBREAK   10
   72 #define IO_STATF_READBREAK   (1<<IO_STATB_READBREAK)
   73 #define IO_STATB_WROTEBREAK  9
   74 #define IO_STATF_WROTEBREAK  (1<<IO_STATB_WROTEBREAK)
   75 #define IO_STATB_OVERRUN     8
   76 #define IO_STATF_OVERRUN     (1<<IO_STATB_OVERRUN)
   77 
   78 
   79 #define SEXTB_MSPON  1
   80 #define SEXTF_MSPON  (1<<SEXTB_MSPON)
   81 #define SEXTB_MARK   0
   82 #define SEXTF_MARK   (1<<SEXTB_MARK)
   83 
   84 
   85 #define SerErr_DevBusy         1
   86 #define SerErr_BaudMismatch    2
   87 #define SerErr_BufErr          4
   88 #define SerErr_InvParam        5
   89 #define SerErr_LineErr         6
   90 #define SerErr_ParityErr       9
   91 #define SerErr_TimerErr       11
   92 #define SerErr_BufOverflow    12
   93 #define SerErr_NoDSR          13
   94 #define SerErr_DetectedBreak  15
   95 
   96 
   97 #ifdef DEVICES_SERIAL_H_OBSOLETE
   98 
   99 #define SerErr_InvBaud    3
  100 #define SerErr_NotOpen    7
  101 #define SerErr_PortReset  8
  102 #define SerErr_InitErr    10
  103 #define SerErr_NoCTS      14
  104 
  105 #define IOSTB_XOFFREAD    4
  106 #define IOSTF_XOFFREAD    (1<<IOSTB_XOFFREAD)
  107 #define IOSTB_XOFFWRITE   3
  108 #define IOSTF_XOFFWRITE   (1<<IOSTB_XOFFWRITE)
  109 #define IOSTB_READBREAK   2
  110 #define IOSTF_READBREAK   (1<<IOSTB_READBREAK)
  111 #define IOSTB_WROTEBREAK  1
  112 #define IOSTF_WROTEBREAK  (1<<IOSTB_WROTEBREAK)
  113 #define IOSTB_OVERRUN     0
  114 #define IOSTF_OVERRUN     (1<<IOSTB_OVERRUN)
  115 
  116 #define IOSERB_BUFRREAD   7
  117 #define IOSERF_BUFRREAD   (1<<IOSERB_BUFRREAD)
  118 #define IOSERB_QUEUED     6
  119 #define IOSERF_QUEUED     (1<<IOSERB_QUEUED)
  120 #define IOSERB_ABORT      5
  121 #define IOSERF_ABORT      (1<<IOSERB_ABORT)
  122 #define IOSERB_ACTIVE     4
  123 #define IOSERF_ACTIVE     (1<<IOSERB_ACTIVE)
  124 
  125 #endif /* DEVICES_SERIAL_H_OBSOLETE */
  126 
  127 
  128 #define SERIALNAME  "serial.device"
  129 
  130 
  131 #pragma pack()
  132 
  133 #endif /* DEVICES_SERIAL_H */