|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4545 (0x11c1) Types: TextFile Notes: UNIX file Names: »pty.h«
└─⟦8c4f54e61⟧ Bits:30004068/disk2.imd Interactive TCP/IP v.1.2 └─⟦8c4f54e61⟧ UNIX Filesystem └─⟦this⟧ »hb/new/usr/include/sys/pty.h«
/* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * * Portions of this Software * Copyrighted as an unpublished work. * (c) Copyright 1988 INTERACTIVE Systems Corporation * All rights reserved. * * RESTRICTED RIGHTS: * * These programs are supplied under a license. They may be used, * disclosed, and/or copied only as permitted under such license * agreement. Any copy must contain the above copyright notice and * this restricted rights notice. Use, copying, and/or disclosure * of the programs is strictly prohibited unless otherwise provided * in the license agreement. * */ #ident "@(#)pty.h 1.6 - 89/08/24" /* * pt_flag defines */ #define PF_RCOLL 0x01 /* read collision, used by select */ #define PF_WCOLL 0x02 /* write collision, used by select */ #define PF_NBIO 0x04 /* no io blocking */ #define PF_PKT 0x08 /* packet mode */ #define PF_STOPPED 0x10 /* user told stopped */ #define PF_REMOTE 0x20 /* remote and flow controlled input */ #define PF_NOSTOP 0x40 /* no control flow ^s */ #define PF_PTYCTL 0x80 /* extended control mode */ #define PF_NOECHO 0x100 /* Don't echo chars, for PF_PTYCTL mode only */ #define PF_WANTDATA 0x200 /* slave side is requesting more data */ #define PF_EXCL 0x400 /* exclusive open */ #define PF_WDATASEL 0x800 /* select in read but already told master side */ #ifndef _h_BSDTYPES typedef unsigned char u_char; #endif struct pty { struct tty pt_tty; ushort pt_cnt; /* open count */ dev_t pt_dev; /* device */ }; struct pt_ioctl { int pt_flags; struct proc *pt_selr, *pt_selw; u_char pt_send; u_char pt_ucntl; #ifdef VPIX ushort pt_intr; /* VP/ix pseudorupt info */ #endif struct winsize pt_win; }; #define PTCCONFIG(cnt) pty_cnt = cnt; \ struct pty pts_tty[cnt]; \ struct pt_ioctl pt_ioctl[cnt]; /* * ioctl calls which are pty specific at present */ #define TIOCPKT (TIOC|10) /* enable packet mode */ #define TIOCREMOTE (TIOC|11) /* enable remote mode */ #define FIONBIO (TIOC|12) /* non-blocking mode */ #ifndef MERGE /* 532 release has all of these defined in termio.h */ #undef TIOCGWINSZ #undef TIOCSWINSZ #undef TIOCPTYCTL #define TIOCGWINSZ (TIOC|13) #define TIOCSWINSZ (TIOC|14) #define TIOCPTYCTL (TIOC|16) /* enable extended mode */ #endif /* MERGE */ /* * pt_send flag defines */ #define TIOCPKT_DATA 0x00 /* data packet */ #define TIOCPKT_FLUSHREAD 0x01 /* flush packet */ #define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */ #define TIOCPKT_STOP 0x04 /* stop output */ #define TIOCPKT_START 0x08 /* start output */ #define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */ #define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */ #define TIOCPKT_IOCTL 0x40 /* wake up if change term characteristics*/ #define TIOCPKT_BREAK 0x80 /* indicate a break was done */ #ifdef VPIX #ifndef AIOCDOSMODE #define AIOC ('A'<<8) #define AIOCDOSMODE (AIOC|1) /* set DOSMODE */ #define AIOCNONDOSMODE (AIOC|2) /* reset DOSMODE */ #define AIOCINFO (AIOC|3) /* tell user what device we are */ #define AIOCSERIALOUT (AIOC|4) /* serial device data write */ #define AIOCSERIALIN (AIOC|5) /* serial device data read */ #define AIOCINTTYPE (AIOC|6) /* set pseudorupt personality */ #define AIOCSETSS (AIOC|7) /* set start/stop chars */ #define VPC_SERIAL_DOS (AIOC|61) #define VPC_SERIAL_NONDOS (AIOC|62) #define VPC_SERIAL_INFO (AIOC|66) #define VPC_SERIAL_TYPE (AIOC|60) #endif #endif /* * Enumerated types used by extended pty control mode */ typedef enum pty_ctl3_cmd_element_enum { pty_ctl3_cmd_user_data=1, pty_ctl3_cmd_char_echo=2, pty_ctl3_cmd_break=3, pty_ctl3_cmd_first_unused=4 }; typedef enum pty_ctl3_info_element_enum { pty_ctl3_info_user_data=1, pty_ctl3_info_flush_output=2, pty_ctl3_info_flush_input=3, pty_ctl3_info_change_ioctl=4, pty_ctl3_info_want_data=5, pty_ctl3_info_output_suspended=6, pty_ctl3_info_output_resumed=7, pty_ctl3_info_break=8, pty_ctl3_info_first_unused=9 }; /* * service level defines for TIOCPTYCTL */ #define pty_ctl_service_0 0 /* return current level of service */ #define pty_ctl_service_1 1 /* default level of service */ #define pty_ctl_service_2 2 /* TIOCPKT service */ #define pty_ctl_service_3 3 /* extended control service */ #define pty_ctl_service_4 4 /* remote mode */