|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5204 (0x1454) Types: TextFile Notes: UNIX file Names: »sgtty.h«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code └─⟦2d53db1df⟧ UNIX Filesystem └─⟦this⟧ »sys/z8001/h/sgtty.h«
/* (-lgl * The information contained herein is a trade secret of Mark Williams * Company, and is confidential information. It is provided under a * license agreement, and may be copied or disclosed only under the * terms of that agreement. Any reproduction or disclosure of this * material without the express written authorization of Mark Williams * Company or persuant to the license agreement is unlawful. * * COHERENT Version 0.7.3 * Copyright (c) 1982, 1983, 1984. * An unpublished work by Mark Williams Company, Chicago. * All rights reserved. -lgl) */ /* * Terminal ioctl. * This is an ibm-pc special case file, many of these ioctls apply * only to the pc console and pc asynchronous ports. */ #ifndef SGTTY_H #define SGTTY_H #include <sys/types.h> /* * Ioctl functions. */ #define TIOCSETP 0100 /* Terminal set modes (old stty) */ #define TIOCGETP 0101 /* Terminal get modes (old gtty) */ #define TIOCSETC 0102 /* Set characters */ #define TIOCGETC 0103 /* Get characters */ #define TIOCSETN 0104 /* Set modes w/o delay or out flush */ #define TIOCEXCL 0105 /* Set exclusive use */ #define TIOCNXCL 0106 /* Set non-exclusive use */ #define TIOCHPCL 0107 /* Hang up on last close */ #define TIOCCHPCL 0111 /* Don't hang up on last close */ #define TIOCFLUSH 0110 /* Flush characters in I/O queues */ #define TIOCGETTF 0112 /* Get tty flag word */ #define TIOCBREAD 0113 /* Blocking read in CBREAK/RAW mode */ #define TIOCCBREAD 0114 /* Turn off TIOCBREAD */ #define TIOCSHIFT 0115 /* Switch console left-SHIFT & "\" */ #define TIOCCSHIFT 0116 /* Normal console left-SHIFT & "\" */ #define TIOCQUERY 0120 /* No. of chars waiting for read */ #define TIOCGETF 0200 /* Get function keys (dev. dep.) */ #define TIOCSETF 0201 /* Set function keys */ /* misc. functions */ #define TIOCSDTR 0301 /* Set DTR */ #define TIOCCDTR 0302 /* Clear DTR */ #define TIOCSRTS 0303 /* Set RTS */ #define TIOCCRTS 0304 /* Clear RTS */ #define TIOCSBRK 0305 /* Set BREAK */ #define TIOCCBRK 0306 /* Clear BREAK */ #define TIOCRSPEED 0320 /* Set "raw" line I/O speed divisor */ #define TIOCWORDL 0321 /* Set line word length and stop bits */ #define TIOCRMSR 0400 /* Get CTS/DSR/RI/RLSD (MSR) */ #define TIOVGETB 0500 /* Read video memory */ #define TIOVPUTB 0501 /* Write video memory */ /* * Bits for TIOCRMSR. */ #define MSRCTS 1 /* Clear to Send */ #define MSRDSR 2 /* Data Set Ready */ #define MSRRI 4 /* Ring Indicator */ #define MSRRLSD 8 /* Received Line Signal Detect */ /* * Attribute masks for TIOVPUTB - attributes occupy odd addresses * in video memory. */ #define VNORM 0x07 /* Ordinary Video */ #define VINTE 0x08 /* Intense video */ #define VBLIN 0x80 /* Blinking video */ #define VREVE 0x70 /* Reverse video */ #define VUNDE 0x01 /* Underline video (mono board) */ /* * Compatibility with gtty and stty. */ #define stty(u,v) ioctl(u,TIOCSETP,v) #define gtty(u,v) ioctl(u,TIOCGETP,v) /* * Structure for TIOCSETP/TIOCGETP */ struct sgttyb { char sg_ispeed; /* Input speed */ char sg_ospeed; /* Output speed */ char sg_erase; /* Character erase */ char sg_kill; /* Line kill character */ int sg_flags; /* Flags */ }; /* * Structure for TIOCSETC/TIOCGETC */ struct tchars { char t_intrc; /* Interrupt */ char t_quitc; /* Quit */ char t_startc; /* Start output */ char t_stopc; /* Stop output */ char t_eofc; /* End of file */ char t_brkc; /* Input delimiter */ }; /* * Structure for TIOVGETB/TIOVPUTB */ struct vidctl { int v_position; /* Position in video memory */ int v_count; /* Number of characters to transfer */ char *v_buffer; /* Character buffer to read/write */ }; /* * Overlying structure for ioctl. */ union ioctl { struct sgttyb io_sgttyb; struct tchars io_tchars; struct vidctl io_vidctl; }; /* * Bits from old stty/gtty modes. */ #define EVENP 01 /* Allow even parity */ #define ODDP 02 /* Allow odd parity */ #define CRMOD 04 /* Map '\r' to '\n' */ #define ECHO 010 /* Echo input characters */ #define LCASE 020 /* Lowercase mapping on input */ #define CBREAK 040 /* Each input character causes wakeup */ #define RAWIN 0100 /* 8-bit input raw */ #define RAWOUT 0200 /* 8-bit output raw */ #define TANDEM 0400 /* flow control protocol */ #define XTABS 01000 /* Expand tabs to spaces */ #define CRT 02000 /* CRT character erase */ /* * Compatibility. */ #define RAW (RAWIN|RAWOUT) /* Raw mode */ /* * Names for terminal speeds. */ #define B0 0 /* Hangup if modem control enabled */ #define B50 1 /* 50 bps */ #define B75 2 /* 75 bps */ #define B110 3 /* 110 bps */ #define B134 4 /* 134.5 bps (IBM 2741) */ #define B150 5 /* 150 bps */ #define B200 6 /* 200 bps */ #define B300 7 /* 300 bps */ #define B600 8 /* 600 bps */ #define B1200 9 /* 1200 bps */ #define B1800 10 /* 1800 bps */ #define B2000 11 /* 2000 bps */ #define B2400 12 /* 2400 bps */ #define B3600 13 /* 3600 bps */ #define B4800 14 /* 4800 bps */ #define B7200 15 /* 7200 bps */ #define B9600 16 /* 9600 bps */ #define B19200 17 /* 19200 bps */ #define EXTA 18 /* External A (DH-11) */ #define EXTB 19 /* External B (DH-11) */ #endif