/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:26:02 by OpenVMS SDL EV3-3 */ /* Source: 14-JAN-2004 07:50:02 $1$DGA7274:[LIB_H.SRC]TTYDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $TTYSYMDEF ***/ #ifndef __TTYSYMDEF_LOADED #define __TTYSYMDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /*++ */ /* */ /* Miscellaneous symbols used by the terminal driver. */ /* */ /*-- */ /* */ /* FORK DISPATCHER BIT DEFINITIONS */ /* */ #define TTY$M_FD_UNSOL 0x1 #define TTY$M_FD_GETAHD 0x2 #define TTY$M_FD_DISCONNECT 0x4 #define TTY$M_FD_PORTFORK 0x8 #define TTY$M_FD_UNLINK 0x10 #define TTY$M_FD_LINK 0x20 #define TTY$M_FD_ASIAN_CTRL 0x40 #define TTY$M_FD_FONT 0x80 #define TTY$M_FD_PRELOAD 0x100 #define TTY$M_FD_DEL_CACHE 0x200 #define TTY$M_FD_BUSY 0x400 #define TTY$S_FORK 2 /* Old size name, synonym for TTY$S_FORK */ typedef struct _tt_fork { unsigned tty$v_fd_unsol : 1; /* SEND UNSOLISITED INPUT MESSAGE */ unsigned tty$v_fd_getahd : 1; /* CREATE A TYPEAHEAD BUFFER */ unsigned tty$v_fd_disconnect : 1; /* DISCONNECT AND DELIVER HANGUPAST */ unsigned tty$v_fd_portfork : 1; /* FORK DISPATCH FOR THE PORT DRIVER */ unsigned tty$v_fd_unlink : 1; /* UNLINK PUCB & LUCB (DETACH) */ unsigned tty$v_fd_link : 1; /* LINK PUCB & LUCB (CONNECT) */ unsigned tty$v_fd_asian_ctrl : 1; /* Create Asian control block */ unsigned tty$v_fd_font : 1; /* Font request delivery */ unsigned tty$v_fd_preload : 1; /* Deliver preload request */ unsigned tty$v_fd_del_cache : 1; /* request delete Soft-ODL cache */ unsigned tty$v_fd_busy : 1; /**** MUST REMAIN AT THE END ******** */ unsigned tty$v_fill_0_ : 5; } TT_FORK; /* */ /* POSIX FDT RETURN VALUE DEFINITIONS */ /* */ #define TTY$M_PF_GETAHD 0x1 typedef struct _posix_fdt_ret { unsigned tty$v_pf_getahd : 1; /* CREATE A TYPEAHEAD BUFFER */ unsigned tty$v_fill_1_ : 7; } POSIX_FDT_RET; /* */ /* POSIX PUTNXT RETURN VALUE DEFINITIONS */ /* */ #define TTY$M_PP_XOFF 0x1 #define TTY$M_PP_XON 0x2 #define TTY$M_PP_CTRLY 0x4 #define TTY$M_PP_CTRLYFLUSH 0x8 #define TTY$M_PP_GETAHD 0x10 #define TTY$M_PP_START 0x20 #define TTY$M_PP_STOP 0x40 #define TTY$M_PP_ECHO 0x80 #define TTY$M_PP_FLUSHONLY 0x100 #define TTY$M_PP_MAX 0x200 typedef struct _posix_putnxt { unsigned tty$v_pp_xoff : 1; /* SEND XOFF */ unsigned tty$v_pp_xon : 1; /* SEND XON */ unsigned tty$v_pp_ctrly : 1; /* DELIVER CTRL-Y AST */ unsigned tty$v_pp_ctrlyflush : 1; /* CTRL-Y AST AND FLUSH QUEUES */ unsigned tty$v_pp_getahd : 1; /* CREATE TYPEAHEAD */ unsigned tty$v_pp_start : 1; /* CALL TTY$RESUME */ unsigned tty$v_pp_stop : 1; /* CALL TTY$STOP */ unsigned tty$v_pp_echo : 1; /* ECHO (TTY$GETNEXTCHAR) */ unsigned tty$v_pp_flushonly : 1; /* FLUSH I/O QUEUES */ unsigned tty$v_pp_max : 1; /*** MUST BE LAST *** */ unsigned tty$v_fill_2_ : 6; } POSIX_PUTNXT; /* */ /* POSIX GETNXT RETURN VALUE DEFINITIONS */ /* */ #define TTY$M_PG_XON 0x1 #define TTY$M_PG_LOOP 0x2 #define TTY$M_PG_WRITEDONE 0x4 typedef struct _posix_getnxt { unsigned tty$v_pg_xon : 1; /* SEND XON */ unsigned tty$v_pg_loop : 1; /* GO BACK TO GETNXT */ unsigned tty$v_pg_writedone : 1; /* Finish current write */ unsigned tty$v_fill_3_ : 5; } POSIX_GETNXT; /* */ /* POSIX READERROR RETURN VALUE DEFINITIONS */ /* */ #define TTY$M_PR_PURGEAHEAD 0x1 #define TTY$M_PR_FLUSH 0x2 typedef struct _posix_readerror { unsigned tty$v_pr_purgeahead : 1; /* PURGE TYPEAHEAD */ unsigned tty$v_pr_flush : 1; /* FLUSH I/O QUEUES */ unsigned tty$v_fill_4_ : 6; } POSIX_READERROR; /* */ /* CHARACTER CONSTANTS */ /* */ #define TTY$C_CTRLA 1 /* 1 */ #define TTY$C_CTRLB 2 /* 2 */ #define TTY$C_CTRLC 3 /* 3 */ #define TTY$C_CTRLD 4 /* 4 */ #define TTY$C_CTRLE 5 /* 5 */ #define TTY$C_CTRLF 6 /* 6 */ #define TTY$C_BELL 7 /* 7 */ #define TTY$C_BS 8 /* 8 */ #define TTY$C_TAB 9 /* 9 */ #define TTY$C_LF 10 /* 10 */ #define TTY$C_VT 11 /* 11 */ #define TTY$C_FF 12 /* 12 */ #define TTY$C_CR 13 /* 13 */ #define TTY$C_CTRLN 14 /* 14 */ #define TTY$C_CTRLO 15 /* 15 */ #define TTY$C_CTRLP 16 /* 16 */ #define TTY$C_CTRLQ 17 /* 17 (XON) */ #define TTY$C_CTRLR 18 /* 18 */ #define TTY$C_CTRLS 19 /* 19 (XOFF) */ #define TTY$C_CTRLT 20 /* 20 */ #define TTY$C_CTRLU 21 /* 21 */ #define TTY$C_CTRLV 22 /* 22 */ #define TTY$C_CTRLW 23 /* 23 */ #define TTY$C_CTRLX 24 /* 24 */ #define TTY$C_CTRLY 25 /* 25 */ #define TTY$C_CTRLZ 26 /* 26 */ #define TTY$C_ESCAPE 27 /* 27 */ #define TTY$C_XON 17 #define TTY$C_XOFF 19 #define TTY$C_BLANK 32 #define TTY$C_DOLLAR 36 #define TTY$C_PLUS 43 #define TTY$C_ZERO 48 #define TTY$C_ONE 49 #define TTY$C_SCRIPT 96 #define TTY$C_LOWA 97 #define TTY$C_LOWZ 123 #define TTY$C_LOWESC1 125 #define TTY$C_LOWESC2 126 #define TTY$C_DELETE 127 #define TTY$C_NL 128 #define TTY$C_CSI 155 /* */ /* Miscellaneous values */ /* */ #define TTY$C_MAXPAGLEN 255 #define TTY$C_MAXPAGWID 511 #define TTY$C_HIGHIPL 22 /* */ /* EDIT READ STATES (STORED IN THE MODE FIELD OF THE READ BUFFER) */ /* */ #define TTY$K_ER_NORMAL 0 /* NORMAL CONTROL-R OR CONTROL-U */ #define TTY$K_ER_CLRECHO 1 /* ECHO WITH TABS EXPANDED TO SPACES */ #define TTY$K_ER_ECHLINE 2 /* ECHO FROM GIVEN STRING */ #define TTY$K_ER_UPDCURSOR 3 /* UPDATE THE CURSOR POSITION THEN EXIT */ #define TTY$K_ER_EXITING 4 /* EXIT NOW */ #define TTY$K_ER_MOVECURSOR 5 /* MOVE THE CURSOR TO ITS FINAL PLACE */ #define TTY$K_ER_CLRREST 6 /* CLEAR THE REST OF THE LINE */ #define TTY$K_ER_PRMECHO 7 /* ECHO OUT A PROMPT */ #define TTY$K_ER_PRMECHO1 8 /* RETURN STATE FOR PROMPT ECHOING */ #define TTY$K_ER_AESECHO 9 /* ECHO AES STRING ALONE */ #define TTY$K_ER_RVECHO 10 /* ECHO READ VERIFY STRING */ #define TTY$K_ER_SIMCEOL 11 /* SIMULATE CLEAR TO END OF LINE */ /* */ /* EDITING TOKENS */ /* */ #define TTY$K_ET_CTRLU 1 /* CONTROL-U */ #define TTY$K_ET_CTRLR 2 /* CONTROL-R */ #define TTY$K_ET_DELEFT 3 /* DELETE CHARACTER LEFT */ #define TTY$K_ET_ESCAPE 4 /* ESCAPE PREFIX CHARACTER */ /****** END OF THE NORMAL EDITING CHARACTERRSn */ #define TTY$K_ET_BACK_CHAR 5 /* BACKUP 1 CHARACTER */ #define TTY$K_ET_FORWARD_CHAR 6 /* MOVE FORWARD 1 CHARCTER */ #define TTY$K_ET_MOVE_EOL 7 /* MOVE TO THE END OF LINE */ #define TTY$K_ET_MOVE_BOL 8 /* MOVE TO THE BEGINNING OF THE LINE */ #define TTY$K_ET_DELETE_WORD 9 /* DELETE WORD TO THE LEFT */ #define TTY$K_ET_QUOTING 10 /* AND THE QUOTE CHARACTER */ #define TTY$K_ET_RECALL 11 /* RECALL THE LAST Command */ #define TTY$K_ET_TOGGEL 12 /* TOGGEL BETWEEN INSERT AND OVERSTRIKE MODES */ #define TTY$K_ET_UNUSED 13 /* *** MUST REMAIN AT THE END *** */ #define TTY$K_ET_TERMINATE 14 /* INDICATES CHARACTERS NOT ALLOWED IN EDITING INPUT LINE */ #define TTY$K_EDITNORMAL 4 /* */ /* INTERNAL FUNCTION CODES */ /* */ #define TTY$C_FC_READ 0 /* 0 READ FUNCTION */ #define TTY$C_FC_WRITE 1 /* 1 WRITE FUNCTION */ #define TTY$C_FC_SETM 2 /* 2 SET MODE */ #define TTY$C_FC_SETC 3 /* 3 SET CHAR */ #define TTY$C_FC_HANGUP 4 /* 4 HANGUP */ #define TTY$C_FC_MAINT 5 /* 5 MAINTENCE FUNCTION */ #define TTY$C_FC_CTRL 6 /* 6 CONTROL ENABLE */ #define TTY$C_FC_CONNECT 7 /* 7 CONNECT TO DETACHED TERMINAL */ #define TTY$C_FC_DISCON 8 /* 8 DISCONNECT FROM ATTACHED TERMINAL */ #define TTY$C_FC_POSIXREAD 9 /* 9 POSIX READ */ #define TTY$C_FC_POSIXWRITE 10 /* 10 POSIX WRITE - MAPS TO VMS WRITE */ #define TTY$C_FC_POSIXSETM 11 /* 11 POSIX SET MODE */ #define TTY$C_FC_ASSETM 12 /* 12 Asian set mode */ #define TTY$C_FC_ASSETC 13 /* 13 Asian set characteristics */ /* */ /* CHARACTER CHARACTERISTICS */ /* */ #define TTY$M_CH_LOWER 0x8 #define TTY$M_CH_SPEC 0x10 #define TTY$M_CH_CTRL 0x20 #define TTY$M_CH_CTRL3 0x40 #define TTY$M_CH_CTRL2 0x80 #define TTY$S_CHAR_CHAR 1 /* Old size name, synonym for TTY$S_TT_CHAR_CHAR */ typedef struct _tt_char_char { unsigned tty$v_ch_fill : 3; unsigned tty$v_ch_lower : 1; unsigned tty$v_ch_spec : 1; unsigned tty$v_ch_ctrl : 1; unsigned tty$v_ch_ctrl3 : 1; unsigned tty$v_ch_ctrl2 : 1; } TT_CHAR_CHAR; /*++ */ /* */ /* ASDRIVER symbols */ /* */ /*-- */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __TTYSYMDEF_LOADED */