Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
516
cde/lib/DtTerm/TermPrim/TermPrim.h
Normal file
516
cde/lib/DtTerm/TermPrim/TermPrim.h
Normal file
@@ -0,0 +1,516 @@
|
||||
/* $XConsortium: TermPrim.h /main/1 1996/04/21 19:16:41 drk $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp.
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1993, 1994 Novell, Inc.
|
||||
*/
|
||||
|
||||
#ifndef _Dt_TermPrim_h
|
||||
#define _Dt_TermPrim_h
|
||||
|
||||
#include <sys/wait.h>
|
||||
#include <Xm/Xm.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Constants
|
||||
*/
|
||||
|
||||
/* Resources */
|
||||
|
||||
#ifndef DtNbackgroundIsSelect
|
||||
#define DtNbackgroundIsSelect "backgroundIsSelect"
|
||||
#endif
|
||||
#ifndef DtNblinkRate
|
||||
#define DtNblinkRate "blinkRate"
|
||||
#endif
|
||||
#ifndef DtNcharCursorStyle
|
||||
#define DtNcharCursorStyle "charCursorStyle"
|
||||
#endif
|
||||
#ifndef DtNconsoleMode
|
||||
#define DtNconsoleMode "consoleMode"
|
||||
#endif
|
||||
#ifndef DtNcsWidth
|
||||
#define DtNcsWidth "csWidth"
|
||||
#endif
|
||||
#ifndef DtNemulationId
|
||||
#define DtNemulationId "emulationId"
|
||||
#endif
|
||||
#ifndef DtNinputVerifyCallback
|
||||
#define DtNinputVerifyCallback "inputVerifyCallback"
|
||||
#endif
|
||||
#ifndef DtNjumpScroll
|
||||
#define DtNjumpScroll "jumpScroll"
|
||||
#endif
|
||||
#ifndef DtNkshMode
|
||||
#define DtNkshMode "kshMode"
|
||||
#endif
|
||||
#ifndef DtNlogFile
|
||||
#define DtNlogFile "logFile"
|
||||
#endif
|
||||
#ifndef DtNlogInhibit
|
||||
#define DtNlogInhibit "logInhibit"
|
||||
#endif
|
||||
#ifndef DtNlogging
|
||||
#define DtNlogging "logging"
|
||||
#endif
|
||||
#ifndef DtNloginShell
|
||||
#define DtNloginShell "loginShell"
|
||||
#endif
|
||||
#ifndef DtNmapOnOutput
|
||||
#define DtNmapOnOutput "mapOnOutput"
|
||||
#endif
|
||||
#ifndef DtNmapOnOutputDelay
|
||||
#define DtNmapOnOutputDelay "mapOnOutputDelay"
|
||||
#endif
|
||||
#ifndef DtNmarginBell
|
||||
#define DtNmarginBell "marginBell"
|
||||
#endif
|
||||
#ifndef DtNnMarginBell
|
||||
#define DtNnMarginBell "nMarginBell"
|
||||
#endif
|
||||
#ifndef DtNoutputLogCallback
|
||||
#define DtNoutputLogCallback "outputLogCallback"
|
||||
#endif
|
||||
#ifndef DtNpointerBlank
|
||||
#define DtNpointerBlank "pointerBlank"
|
||||
#endif
|
||||
#ifndef DtNpointerBlankDelay
|
||||
#define DtNpointerBlankDelay "pointerBlankDelay"
|
||||
#endif
|
||||
#ifndef DtNpointerColor
|
||||
#define DtNpointerColor "pointerColor"
|
||||
#endif
|
||||
#ifndef DtNpointerColorBackground
|
||||
#define DtNpointerColorBackground "pointerColorBackground"
|
||||
#endif
|
||||
#ifndef DtNpointerShape
|
||||
#define DtNpointerShape "pointerShape"
|
||||
#endif
|
||||
#ifndef DtNreverseVideo
|
||||
#define DtNreverseVideo "reverseVideo"
|
||||
#endif
|
||||
#ifndef DtNsaveLines
|
||||
#define DtNsaveLines "saveLines"
|
||||
#endif
|
||||
#ifndef DtNsizeList
|
||||
#define DtNsizeList "sizeList"
|
||||
#endif
|
||||
#ifndef DtNstatusChangeCallback
|
||||
#define DtNstatusChangeCallback "statusChangeCallback"
|
||||
#endif
|
||||
#ifndef DtNstickyNextCursor
|
||||
#define DtNstickyNextCursor "stickyNextCursor"
|
||||
#endif
|
||||
#ifndef DtNstickyPrevCursor
|
||||
#define DtNstickyPrevCursor "stickyPrevCursor"
|
||||
#endif
|
||||
#ifndef DtNsubprocessLoginShell
|
||||
#define DtNsubprocessLoginShell "subprocessLoginShell"
|
||||
#endif
|
||||
#ifndef DtNsubprocessPid
|
||||
#define DtNsubprocessPid "subprocessPid"
|
||||
#endif
|
||||
#ifndef DtNsubprocessExec
|
||||
#define DtNsubprocessExec "subprocessExec"
|
||||
#endif
|
||||
#ifndef DtNsubprocessTerminationCatch
|
||||
#define DtNsubprocessTerminationCatch "subprocessTerminationCatch"
|
||||
#endif
|
||||
#ifndef DtNsubprocessCmd
|
||||
#define DtNsubprocessCmd "subprocessCmd"
|
||||
#endif
|
||||
#ifndef DtNsubprocessArgv
|
||||
#define DtNsubprocessArgv "subprocessArgv"
|
||||
#endif
|
||||
#ifndef DtNsubprocessTerminationCallback
|
||||
#define DtNsubprocessTerminationCallback "subprocessTerminationCallback"
|
||||
#endif
|
||||
#ifndef DtNtermEmulationMode
|
||||
#define DtNtermEmulationMode "termEmulationMode"
|
||||
#endif
|
||||
#ifndef DtNtermDevice
|
||||
#define DtNtermDevice "termDevice"
|
||||
#endif
|
||||
#ifndef DtNtermDeviceAllocate
|
||||
#define DtNtermDeviceAllocate "termDeviceAllocate"
|
||||
#endif
|
||||
#ifndef DtNtermId
|
||||
#define DtNtermId "termId"
|
||||
#endif
|
||||
#ifndef DtNtermName
|
||||
#define DtNtermName "termName"
|
||||
#endif
|
||||
#ifndef DtNtermSlaveName
|
||||
#define DtNtermSlaveName "termSlaveName"
|
||||
#endif
|
||||
#ifndef DtNttyModes
|
||||
#define DtNttyModes "ttyModes"
|
||||
#endif
|
||||
#ifndef DtNuseFontSets
|
||||
#define DtNuseFontSets "useFontSets"
|
||||
#endif
|
||||
#ifndef DtNuseLineDraw
|
||||
#define DtNuseLineDraw "useLineDraw"
|
||||
#endif
|
||||
#ifndef DtNuserFont
|
||||
#define DtNuserFont "userFont"
|
||||
#endif
|
||||
#ifndef DtNuserBoldFont
|
||||
#define DtNuserBoldFont "userBoldFont"
|
||||
#endif
|
||||
#ifndef DtNvisualBell
|
||||
#define DtNvisualBell "visualBell"
|
||||
#endif
|
||||
#ifndef DtNallowSendEvents
|
||||
#define DtNallowSendEvents "allowSendEvents"
|
||||
#endif
|
||||
#ifndef DtNbaseHeight
|
||||
#define DtNbaseHeight XmNbaseHeight
|
||||
#endif
|
||||
#ifndef DtNbaseWidth
|
||||
#define DtNbaseWidth XmNbaseWidth
|
||||
#endif
|
||||
#ifndef DtNcolumns
|
||||
#define DtNcolumns XmNcolumns
|
||||
#endif
|
||||
#ifndef DtNheightInc
|
||||
#define DtNheightInc XmNheightInc
|
||||
#endif
|
||||
#ifndef DtNmarginHeight
|
||||
#define DtNmarginHeight XmNmarginHeight
|
||||
#endif
|
||||
#ifndef DtNmarginWidth
|
||||
#define DtNmarginWidth XmNmarginWidth
|
||||
#endif
|
||||
#ifndef DtNrows
|
||||
#define DtNrows XmNrows
|
||||
#endif
|
||||
#ifndef DtNshadowType
|
||||
#define DtNshadowType XmNshadowType
|
||||
#endif
|
||||
#ifndef DtNverticalScrollBar
|
||||
#define DtNverticalScrollBar XmNverticalScrollBar
|
||||
#endif
|
||||
#ifndef DtNwidthInc
|
||||
#define DtNwidthInc XmNwidthInc
|
||||
#endif
|
||||
|
||||
#ifndef DtCBackground
|
||||
#define DtCBackground XmCBackground
|
||||
#endif
|
||||
#ifndef DtCBackgroundIsSelect
|
||||
#define DtCBackgroundIsSelect "BackgroundIsSelect"
|
||||
#endif
|
||||
#ifndef DtCBlinkRate
|
||||
#define DtCBlinkRate "BlinkRate"
|
||||
#endif
|
||||
#ifndef DtCCallback
|
||||
#define DtCCallback XmCCallback
|
||||
#endif
|
||||
#ifndef DtCCursor
|
||||
#define DtCCursor XmCCursor
|
||||
#endif
|
||||
#ifndef DtCConsoleMode
|
||||
#define DtCConsoleMode "ConsoleMode"
|
||||
#endif
|
||||
#ifndef DtCCsWidth
|
||||
#define DtCCsWidth "CsWidth"
|
||||
#endif
|
||||
#ifndef DtCCharCursorStyle
|
||||
#define DtCCharCursorStyle "CharCursorStyle"
|
||||
#endif
|
||||
#ifndef DtCEmulationId
|
||||
#define DtCEmulationId "EmulationId"
|
||||
#endif
|
||||
#ifndef DtCForeground
|
||||
#define DtCForeground XmCForeground
|
||||
#endif
|
||||
#ifndef DtCJumpScroll
|
||||
#define DtCJumpScroll "JumpScroll"
|
||||
#endif
|
||||
#ifndef DtCKshMode
|
||||
#define DtCKshMode "KshMode"
|
||||
#endif
|
||||
#ifndef DtCLogFile
|
||||
#define DtCLogFile "LogFile"
|
||||
#endif
|
||||
#ifndef DtCLogInhibit
|
||||
#define DtCLogInhibit "LogInhibit"
|
||||
#endif
|
||||
#ifndef DtCLogging
|
||||
#define DtCLogging "Logging"
|
||||
#endif
|
||||
#ifndef DtCLoginShell
|
||||
#define DtCLoginShell "LoginShell"
|
||||
#endif
|
||||
#ifndef DtCMapOnOutput
|
||||
#define DtCMapOnOutput "MapOnOutput"
|
||||
#endif
|
||||
#ifndef DtCMapOnOutputDelay
|
||||
#define DtCMapOnOutputDelay "MapOnOutputDelay"
|
||||
#endif
|
||||
#ifndef DtCMarginBell
|
||||
#define DtCMarginBell "MarginBell"
|
||||
#endif
|
||||
#ifndef DtCNMarginBell
|
||||
#define DtCNMarginBell "NMarginBell"
|
||||
#endif
|
||||
#ifndef DtCPointerBlank
|
||||
#define DtCPointerBlank "PointerBlank"
|
||||
#endif
|
||||
#ifndef DtCPointerBlankDelay
|
||||
#define DtCPointerBlankDelay "PointerBlankDelay"
|
||||
#endif
|
||||
#ifndef DtCPointerColor
|
||||
#define DtCPointerColor "PointerColor"
|
||||
#endif
|
||||
#ifndef DtCPointerColorBackground
|
||||
#define DtCPointerColorBackground "PointerColorBackground"
|
||||
#endif
|
||||
#ifndef DtCPointerShape
|
||||
#define DtCPointerShape "PointerShape"
|
||||
#endif
|
||||
#ifndef DtCReverseVideo
|
||||
#define DtCReverseVideo "ReverseVideo"
|
||||
#endif
|
||||
#ifndef DtCSaveLines
|
||||
#define DtCSaveLines "SaveLines"
|
||||
#endif
|
||||
#ifndef DtCSizeList
|
||||
#define DtCSizeList "SizeList"
|
||||
#endif
|
||||
#ifndef DtCStickyCursor
|
||||
#define DtCStickyCursor "StickyCursor"
|
||||
#endif
|
||||
#ifndef DtCSubprocessLoginShell
|
||||
#define DtCSubprocessLoginShell "SubprocessLoginShell"
|
||||
#endif
|
||||
#ifndef DtCSubprocessPid
|
||||
#define DtCSubprocessPid "SubprocessPid"
|
||||
#endif
|
||||
#ifndef DtCSubprocessExec
|
||||
#define DtCSubprocessExec "SubprocessExec"
|
||||
#endif
|
||||
#ifndef DtCSubprocessTerminationCatch
|
||||
#define DtCSubprocessTerminationCatch "SubprocessTerminationCatch"
|
||||
#endif
|
||||
#ifndef DtCSubprocessCmd
|
||||
#define DtCSubprocessCmd "SubprocessCmd"
|
||||
#endif
|
||||
#ifndef DtCSubprocessArgv
|
||||
#define DtCSubprocessArgv "SubprocessArgv"
|
||||
#endif
|
||||
#ifndef DtCTermEmulationMode
|
||||
#define DtCTermEmulationMode "TermEmulationMode"
|
||||
#endif
|
||||
#ifndef DtCTermDevice
|
||||
#define DtCTermDevice "TermDevice"
|
||||
#endif
|
||||
#ifndef DtCTermDeviceAllocate
|
||||
#define DtCTermDeviceAllocate "TermDeviceAllocate"
|
||||
#endif
|
||||
#ifndef DtCTermId
|
||||
#define DtCTermId "TermId"
|
||||
#endif
|
||||
#ifndef DtCTermName
|
||||
#define DtCTermName "TermName"
|
||||
#endif
|
||||
#ifndef DtCTermSlaveName
|
||||
#define DtCTermSlaveName "TermSlaveName"
|
||||
#endif
|
||||
#ifndef DtCTtyModes
|
||||
#define DtCTtyModes "TtyModes"
|
||||
#endif
|
||||
#ifndef DtCUseFontSets
|
||||
#define DtCUseFontSets "UseFontSets"
|
||||
#endif
|
||||
#ifndef DtCUseLineDraw
|
||||
#define DtCUseLineDraw "UseLineDraw"
|
||||
#endif
|
||||
#ifndef DtCUserFont
|
||||
#define DtCUserFont "UserFont"
|
||||
#endif
|
||||
#ifndef DtCUserBoldFont
|
||||
#define DtCUserBoldFont "UserBoldFont"
|
||||
#endif
|
||||
#ifndef DtCVisualBell
|
||||
#define DtCVisualBell "VisualBell"
|
||||
#endif
|
||||
#ifndef DtCAllowSendEvents
|
||||
#define DtCAllowSendEvents "AllowSendEvents"
|
||||
#endif
|
||||
#ifndef DtCBaseHeight
|
||||
#define DtCBaseHeight XmCBaseHeight
|
||||
#endif
|
||||
#ifndef DtCBaseWidth
|
||||
#define DtCBaseWidth XmCBaseWidth
|
||||
#endif
|
||||
#ifndef DtCColumns
|
||||
#define DtCColumns XmCColumns
|
||||
#endif
|
||||
#ifndef DtCHeightInc
|
||||
#define DtCHeightInc XmCHeightInc
|
||||
#endif
|
||||
#ifndef DtCMarginHeight
|
||||
#define DtCMarginHeight XmCMarginHeight
|
||||
#endif
|
||||
#ifndef DtCMarginWidth
|
||||
#define DtCMarginWidth XmCMarginWidth
|
||||
#endif
|
||||
#ifndef DtCRows
|
||||
#define DtCRows XmCRows
|
||||
#endif
|
||||
#ifndef DtCShadowType
|
||||
#define DtCShadowType XmCShadowType
|
||||
#endif
|
||||
#ifndef DtCVerticalScrollBar
|
||||
#define DtCVerticalScrollBar XmCVerticalScrollBar
|
||||
#endif
|
||||
#ifndef DtCWidthInc
|
||||
#define DtCWidthInc XmCWidthInc
|
||||
#endif
|
||||
|
||||
/* Representation types */
|
||||
|
||||
#define DtRDtTermCharCursorStyle "DtTermCharCursorStyle"
|
||||
#define DtRDtTermEmulationMode "DtTermEmulationMode"
|
||||
#define DtRDtTermTerminalSize "DtTermTerminalSize"
|
||||
#define DtRDtTermTerminalSizeList "DtTermTerminalSizeList"
|
||||
|
||||
/* DtNshadowType values */
|
||||
|
||||
#ifndef DtSHADOW_IN
|
||||
#define DtSHADOW_IN XmSHADOW_IN
|
||||
#endif
|
||||
#ifndef DtSHADOW_OUT
|
||||
#define DtSHADOW_OUT XmSHADOW_OUT
|
||||
#endif
|
||||
#ifndef DtSHADOW_ETCHED_IN
|
||||
#define DtSHADOW_ETCHED_IN XmSHADOW_ETCHED_IN
|
||||
#endif
|
||||
#ifndef DtSHADOW_ETCHED_OUT
|
||||
#define DtSHADOW_ETCHED_OUT XmSHADOW_ETCHED_OUT
|
||||
#endif
|
||||
|
||||
#define DtTERM_CHAR_CURSOR_BOX 0
|
||||
#define DtTERM_CHAR_CURSOR_BAR 1
|
||||
#define DtTERM_CHAR_CURSOR_INVISIBLE 2
|
||||
|
||||
#define DtTermEMULATIONHP 0
|
||||
#define DtTermEMULATIONANSI 1
|
||||
|
||||
/* Callback reasons */
|
||||
|
||||
#define DtCR_TERM_SUBPROCESS_TERMINATION 1
|
||||
#define DtCR_TERM_STATUS_CHANGE 2
|
||||
#define DtCR_TERM_INPUT_VERIFY 7
|
||||
#define DtCR_TERM_OUTPUT_LOG 8
|
||||
|
||||
|
||||
/*
|
||||
* Types
|
||||
*/
|
||||
|
||||
/* insert char mode */
|
||||
|
||||
typedef enum {
|
||||
DtTERM_INSERT_CHAR_OFF = 0,
|
||||
DtTERM_INSERT_CHAR_ON,
|
||||
DtTERM_INSERT_CHAR_ON_WRAP
|
||||
} DtTermInsertCharMode;
|
||||
|
||||
typedef struct {
|
||||
int reason;
|
||||
XEvent *event;
|
||||
int cursorX;
|
||||
int cursorY;
|
||||
Boolean capsLock;
|
||||
Boolean stop;
|
||||
DtTermInsertCharMode insertCharMode;
|
||||
Boolean locked;
|
||||
} DtTermStatusChangeCallbackStruct;
|
||||
|
||||
typedef struct {
|
||||
int reason;
|
||||
XEvent *event;
|
||||
pid_t pid;
|
||||
int status;
|
||||
} DtTermSubprocessTerminationCallbackStruct;
|
||||
|
||||
typedef struct {
|
||||
int reason;
|
||||
XEvent *event;
|
||||
Boolean doit;
|
||||
unsigned char *text;
|
||||
int length;
|
||||
} DtTermInputVerifyCallbackStruct;
|
||||
|
||||
typedef struct {
|
||||
int reason;
|
||||
XEvent *event;
|
||||
unsigned char *text;
|
||||
int length;
|
||||
} DtTermOutputLogCallbackStruct;
|
||||
|
||||
typedef struct _DtTermTerminalSize {
|
||||
short rows;
|
||||
short columns;
|
||||
} DtTermTerminalSize;
|
||||
|
||||
typedef struct _DtTermTerminalSizeList {
|
||||
int numSizes;
|
||||
DtTermTerminalSize *sizes;
|
||||
} DtTermTerminalSizeList;
|
||||
|
||||
/* Widget class and instance */
|
||||
|
||||
typedef struct _DtTermPrimitiveClassRec *DtTermPrimitiveWidgetClass;
|
||||
typedef struct _DtTermPrimitiveRec *DtTermPrimitiveWidget;
|
||||
|
||||
|
||||
/*
|
||||
* Data
|
||||
*/
|
||||
|
||||
/* Widget class record */
|
||||
|
||||
externalref WidgetClass dtTermPrimitiveWidgetClass;
|
||||
|
||||
|
||||
/*
|
||||
* Functions
|
||||
*/
|
||||
|
||||
extern Widget DtCreateTermPrimitive(
|
||||
Widget parent,
|
||||
char *name,
|
||||
ArgList arglist,
|
||||
Cardinal argcount);
|
||||
|
||||
extern void DtTermInitialize(void);
|
||||
|
||||
extern void DtTermDisplaySend(
|
||||
Widget widget,
|
||||
unsigned char *buffer,
|
||||
int length);
|
||||
|
||||
extern void DtTermSubprocSend(
|
||||
Widget widget,
|
||||
unsigned char *buffer,
|
||||
int length);
|
||||
|
||||
extern void DtTermSubprocReap(
|
||||
pid_t pid,
|
||||
int *stat_loc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _Dt_TermPrim_h */
|
||||
Reference in New Issue
Block a user