#ifndef WIN_BitchX_h #define WIN_BitchX_h #include /* prototypes */ void VTActivate(); void ChangeTitle(); void SwitchMenu(); void SwitchTitleBar(); void OpenHelp(HWND HWin, UINT Command, DWORD Data); void ResetTerminal(); void ResetCharSet(); void HideStatusLine(); void ChangeTerminalSize(int Nx, int Ny); int VTParse(); void EnableDlgItem(HWND HDlg, int FirstId, int LastId); void DisableDlgItem(HWND HDlg, int FirstId, int LastId); void ShowDlgItem(HWND HDlg, int FirstId, int LastId); void SetRB(HWND HDlg, int R, int FirstId, int LastId); void GetRB(HWND HDlg, LPWORD R, int FirstId, int LastId); void SetDlgNum(HWND HDlg, int id_Item, LONG Num); void SetDlgPercent(HWND HDlg, int id_Item, LONG a, LONG b); /*void SetDropDownList(HWND HDlg, int Id_Item, PCHAR far *List, int nsel);*/ LONG GetCurSel(HWND HDlg, int Id_Item); void InitDisp(); void EndDisp(); void DispReset(); void DispConvWinToScreen (int Xw, int Yw, int *Xs, int *Ys, LPBOOL Right); void SetLogFont(); void ChangeFont(); void ResetIME(); void ChangeCaret(); void CaretOn(); void CaretOff(); void DispDestroyCaret(); BOOL IsCaretOn(); void DispEnableCaret(BOOL On); BOOL IsCaretEnabled(); void DispSetCaretWidth(BOOL DW); void DispChangeWinSize(int Nx, int Ny); void ResizeWindow(int x, int y, int w, int h, int cw, int ch); void PaintWindow(HDC PaintDC, RECT PaintRect, BOOL fBkGnd, int* Xs, int* Ys, int* Xe, int* Ye); void DispEndPaint(); void DispClearWin(); void DispChangeBackground(); void DispChangeWin(); void DispInitDC(); void DispReleaseDC(); void DispSetupDC(BYTE Attr, BYTE Attr2, BOOL Reverse); void DispStr(PCHAR Buff, int Count, int Y, int* X); void DispEraseCurToEnd(int YEnd); void DispEraseHomeToCur(int YHome); void DispEraseCharsInLine(int XStart, int Count); BOOL DispDeleteLines(int Count, int YEnd); BOOL DispInsertLines(int Count, int YEnd); BOOL IsLineVisible(int* X, int* Y); void AdjustScrollBar(); void DispScrollToCursor(int CurX, int CurY); void DispScrollNLines(int Top, int Bottom, int Direction); void DispCountScroll(); void DispUpdateScroll(); void DispScrollHomePos(); void DispAutoScroll(POINT p); void DispHScroll(int Func, int Pos); void DispVScroll(int Func, int Pos); void DispSetupFontDlg(); void DispRestoreWinSize(); void DispSetWinPos(); void DispSetActive(BOOL ActiveFlag); /* Character attribute bit masks */ #define AttrDefault 0x00 #define AttrDefault2 0x00 #define AttrBold 0x01 #define AttrUnder 0x02 #define AttrSpecial 0x04 #define AttrFontMask 0x07 #define AttrBlink 0x08 #define AttrReverse 0x10 #define AttrKanji 0x80 extern int WinWidth, WinHeight; extern HFONT VTFont[AttrFontMask+1]; extern int FontHeight, FontWidth, ScreenWidth, ScreenHeight; extern BOOL AdjustSize, DontChangeSize; extern int CursorX, CursorY; extern int WinOrgX, WinOrgY, NewOrgX, NewOrgY; extern int NumOfLines, NumOfColumns; extern int PageStart, BuffEnd; #define SCROLL_BOTTOM 1 #define SCROLL_LINEDOWN 2 #define SCROLL_LINEUP 3 #define SCROLL_PAGEDOWN 4 #define SCROLL_PAGEUP 5 #define SCROLL_POS 6 #define SCROLL_TOP 7 /* Parsing modes */ #define ModeFirst 0 #define ModeESC 1 #define ModeDCS 2 #define ModeDCUserKey 3 #define ModeSOS 4 #define ModeCSI 5 #define ModeXS 6 #define ModeDLE 7 #define ModeCAN 8 extern HWND HVTWin; extern HWND HTEKWin; extern int ActiveWin; /* IdVT, IdTEK */ extern int TalkStatus; /* IdTalkKeyb, IdTalkCB, IdTalkTextFile */ extern BOOL KeybEnabled; /* keyboard switch */ extern BOOL Connecting; /* 'help' button on dialog box */ extern WORD MsgDlgHelp; extern LONG HelpId; /*extern TTTSet ts; extern TComVar cv;*/ /* pointers to window objects */ extern void* pVTWin; extern void* pTEKWin; /* instance handle */ extern HINSTANCE hInst; extern int SerialNo; #define IdBreakTimer 1 #define IdDelayTimer 2 #define IdProtoTimer 3 #define IdDblClkTimer 4 #define IdScrollTimer 5 #define IdComEndTimer 6 #define IdCaretTimer 7 #define IdPrnStartTimer 8 #define IdPrnProcTimer 9 /* Window Id */ #define IdVT 1 #define IdTEK 2 /* Talker mode */ #define IdTalkKeyb 0 #define IdTalkCB 1 #define IdTalkFile 2 #define IdTalkQuiet 3 /* Character sets */ #define IdASCII 0 #define IdKatakana 1 #define IdKanji 2 #define IdSpecial 3 /* Color attribute bit masks */ #define Attr2Fore 0x08 #define Attr2ForeMask 0x07 #define Attr2Back 0x80 #define Attr2BackMask 0x70 #define SftAttrBack 4 /* Color codes */ #define IdBack 0 #define IdRed 1 #define IdGreen 2 #define IdYellow 3 #define IdBlue 4 #define IdMagenta 5 #define IdCyan 6 #define IdFore 7 /* Kermit function id */ #define IdKmtReceive 1 #define IdKmtGet 2 #define IdKmtSend 3 #define IdKmtFinish 4 /* XMODEM function id */ #define IdXReceive 1 #define IdXSend 2 /* ZMODEM function id */ #define IdZReceive 1 #define IdZSend 2 #define IdZAuto 3 /* B-Plus function id */ #define IdBPReceive 1 #define IdBPSend 2 #define IdBPAuto 3 /* Quick-VAN function id */ #define IdQVReceive 1 #define IdQVSend 2 #define HostNameMaxLength 80 /* internal WM_USER messages */ #define WM_USER_ACCELCOMMAND WM_USER+1 #define WM_USER_CHANGEMENU WM_USER+2 #define WM_USER_CLOSEIME WM_USER+3 #ifdef TERATERM32 #define WM_USER_COMMNOTIFY WM_USER+4 #else #define WM_USER_COMMNOTIFY WM_COMMNOTIFY #endif #define WM_USER_COMMOPEN WM_USER+5 #define WM_USER_COMMSTART WM_USER+6 #define WM_USER_DLGHELP2 WM_USER+7 #define WM_USER_GETHOST WM_USER+8 #define WM_USER_FTCANCEL WM_USER+9 #define WM_USER_PROTOCANCEL WM_USER+10 #define WM_USER_CHANGETBAR WM_USER+11 #define WM_USER_KEYCODE WM_USER+12 #define WM_USER_GETSERIALNO WM_USER+13 #define WM_USER_DDEREADY WM_USER+21 #define WM_USER_DDECMNDEND WM_USER+22 #define WM_USER_DDECOMREADY WM_USER+23 #define WM_USER_DDEEND WM_USER+24 /* port type ID */ #define IdTCPIP 1 #define IdSerial 2 #define IdFile 3 /* XMODEM option */ #define XoptCheck 1 #define XoptCRC 2 #define Xopt1K 3 /* Language */ #define IdEnglish 1 #define IdJapanese 2 #define IdRussian 3 // log flags (used in ts.LogFlag) #define LOG_TEL 1 #define LOG_KMT 2 #define LOG_X 4 #define LOG_Z 8 #define LOG_BP 16 #define LOG_QV 32 // file transfer flags (used in ts.FTFlag) #define FT_ZESCCTL 1 #define FT_ZAUTO 2 #define FT_BPESCCTL 4 #define FT_BPAUTO 8 #define FT_RENAME 16 // menu flags (used in ts.MenuFlag) #define MF_NOSHOWMENU 1 #define MF_NOPOPUP 2 #define MF_NOLANGUAGE 4 #define MF_SHOWWINMENU 8 // Terminal flags (used in ts.TermFlag) #define TF_FIXEDJIS 1 #define TF_AUTOINVOKE 2 #define TF_CTRLINKANJI 8 #define TF_ALLOWWRONGSEQUENCE 16 #define TF_ACCEPT8BITCTRL 32 #define TF_ENABLESLINE 64 #define TF_BACKWRAP 128 // ANSI color flags (used in ts.ColorFlag) #define CF_FULLCOLOR 1 #define CF_USETEXTCOLOR 2 // port flags (used in ts.PortFlag) #define PF_CONFIRMDISCONN 1 #define PF_BEEPONCONNECT 2 #define IdCR 1 #define IdCRLF 2 /* Terminal ID */ #define IdVT100 1 #define IdVT100J 2 #define IdVT101 3 #define IdVT102 4 #define IdVT102J 5 #define IdVT220J 6 #define IdVT282 7 #define IdVT320 8 #define IdVT382 9 /* Kanji Code ID */ #define IdSJIS 1 #define IdEUC 2 #define IdJIS 3 // Russian code sets #define IdWindows 1 #define IdKOI8 2 #define Id866 3 #define IdISO 4 /* KanjiIn modes */ #define IdKanjiInA 1 #define IdKanjiInB 2 /* KanjiOut modes */ #define IdKanjiOutB 1 #define IdKanjiOutJ 2 #define IdKanjiOutH 3 #define TermWidthMax 300 #define TermHeightMax 200 /* Cursor shapes */ #define IdBlkCur 1 #define IdVCur 2 #define IdHCur 3 #define IdBS 1 #define IdDEL 2 /* Serial port ID */ #define IdCOM1 1 #define IdCOM2 2 #define IdCOM3 3 #define IdCOM4 4 /* Baud rate ID */ #define IdBaud110 1 #define IdBaud300 2 #define IdBaud600 3 #define IdBaud1200 4 #define IdBaud2400 5 #define IdBaud4800 6 #define IdBaud9600 7 #define IdBaud14400 8 #define IdBaud19200 9 #define IdBaud38400 10 #define IdBaud57600 11 #define IdBaud115200 12 /* Parity ID */ #define IdParityEven 1 #define IdParityOdd 2 #define IdParityNone 3 /* Data bit ID */ #define IdDataBit7 1 #define IdDataBit8 2 /* Stop bit ID */ #define IdStopBit1 1 #define IdStopBit2 2 /* Flow control ID */ #define IdFlowX 1 #define IdFlowHard 2 #define IdFlowNone 3 /* GetHoerm internal key codes */ #define IdUp 1 #define IdDown 2 #define IdRight 3 #define IdLeft 4 #define Id0 5 #define Id1 6 #define Id2 7 #define Id3 8 #define Id4 9 #define Id5 10 #define Id6 11 #define Id7 12 #define Id8 13 #define Id9 14 #define IdMinus 15 #define IdComma 16 #define IdPeriod 17 #define IdEnter 18 #define IdPF1 19 #define IdPF2 20 #define IdPF3 21 #define IdPF4 22 #define IdFind 23 #define IdInsert 24 #define IdRemove 25 #define IdSelect 26 #define IdPrev 27 #define IdNext 28 #define IdHold 29 #define IdPrint 30 #define IdBreak 31 #define IdF6 32 #define IdF7 33 #define IdF8 34 #define IdF9 35 #define IdF10 36 #define IdF11 37 #define IdF12 38 #define IdF13 39 #define IdF14 40 #define IdHelp 41 #define IdDo 42 #define IdF17 43 #define IdF18 44 #define IdF19 45 #define IdF20 46 #define IdUDK6 47 #define IdUDK7 48 #define IdUDK8 49 #define IdUDK9 50 #define IdUDK10 51 #define IdUDK11 52 #define IdUDK12 53 #define IdUDK13 54 #define IdUDK14 55 #define IdUDK15 56 #define IdUDK16 57 #define IdUDK17 58 #define IdUDK18 59 #define IdUDK19 60 #define IdUDK20 61 #define IdXF1 62 #define IdXF2 63 #define IdXF3 64 #define IdXF4 65 #define IdXF5 66 #define IdCmdEditCopy 67 #define IdCmdEditPaste 68 #define IdCmdEditPasteCR 69 #define IdCmdEditCLS 70 #define IdCmdEditCLB 71 #define IdCmdCtrlOpenTEK 72 #define IdCmdCtrlCloseTEK 73 #define IdCmdLineUp 74 #define IdCmdLineDown 75 #define IdCmdPageUp 76 #define IdCmdPageDown 77 #define IdCmdBuffTop 78 #define IdCmdBuffBottom 79 #define IdCmdNextWin 80 #define IdCmdPrevWin 81 #define IdCmdLocalEcho 82 #define IdUser1 83 #define NumOfUserKey 99 #define IdKeyMax IdUser1+NumOfUserKey-1 // key code for macro commands #define IdCmdDisconnect 1000 #define IdCmdLoadKeyMap 1001 #define IdCmdRestoreSetup 1002 #define KeyStrMax 1023 // (user) key type IDs #define IdBinary 0 // transmit text without any modification #define IdText 1 // transmit text with new-line & DBCS conversions #define IdMacro 2 // activate macro #define IdCommand 3 // post a WM_COMMAND message /* Control Characters */ #define NUL 0x00 #define SOH 0x01 #define STX 0x02 #define ETX 0x03 #define EOT 0x04 #define ENQ 0x05 #define ACK 0x06 #define BEL 0x07 #define BS 0x08 #define HT 0x09 #define LF 0x0A #define VT 0x0B #define FF 0x0C #define CR 0x0D #define SO 0x0E #define SI 0x0F #define DLE 0x10 #define DC1 0x11 #define XON 0x11 #define DC2 0x12 #define DC3 0x13 #define XOFF 0x13 #define DC4 0x14 #define NAK 0x15 #define SYN 0x16 #define ETB 0x17 #define CAN 0x18 #define EM 0x19 #define SUB 0x1A #define ESC 0x1B #define FS 0x1C #define GS 0x1D #define RS 0x1E #define US 0x1F #define SP 0x20 #define DEL 0x7F #define IND 0x84 #define NEL 0x85 #define SSA 0x86 #define ESA 0x87 #define HTS 0x88 #define HTJ 0x89 #define VTS 0x8A #define PLD 0x8B #define PLU 0x8C #define RI 0x8D #define SS2 0x8E #define SS3 0x8F #define DCS 0x90 #define PU1 0x91 #define PU2 0x92 #define STS 0x93 #define CCH 0x94 #define MW 0x95 #define SPA 0x96 #define EPA 0x97 /*#define SOS 0x98*/ #define CSI 0x9B #define ST 0x9C #define OSC 0x9D #define PM 0x9E #define APC 0x9F #define InBuffSize 1024 #define OutBuffSize 1024 #define ID_FILE 0 #define ID_EDIT 1 #define ID_SETUP 2 #define ID_CONTROL 3 #define ID_HELPMENU 4 #define ID_WINDOW_1 50801 #define ID_WINDOW_WINDOW 50810 #define ID_TRANSFER 4 #define ID_SHOWMENUBAR 995 #define BuffXMax 300 #define BuffYMax 100000 #define BuffSizeMax 8000000 HDC PrnBox(HWND HWin, LPBOOL Sel); BOOL PrnStart(LPSTR DocumentName); void PrnStop(); #define IdPrnCancel 0 #define IdPrnScreen 1 #define IdPrnSelectedText 2 #define IdPrnScrollRegion 4 #define IdPrnFile 8 int VTPrintInit(int PrnFlag); void PrnSetAttr(BYTE Attr, BYTE Attr2); void PrnOutText(PCHAR Buff, int Count); void PrnNewLine(); void VTPrintEnd(); void PrnFileDirectProc(); void PrnFileStart(); void OpenPrnFile(); void ClosePrnFile(); void WriteToPrnFile(BYTE b, BOOL Write); void InitBuffer(); void LockBuffer(); void UnlockBuffer(); void FreeBuffer(); void BuffReset(); void BuffScroll(int Count, int Bottom); void BuffInsertSpace(int Count); void BuffEraseCurToEnd(); void BuffEraseHomeToCur(); void BuffInsertLines(int Count, int YEnd); void BuffEraseCharsInLine(int XStart, int Count); void BuffDeleteLines(int Count, int YEnd); void BuffDeleteChars(int Count); void BuffEraseChars(int Count); void BuffFillWithE(); void BuffDrawLine(BYTE Attr, BYTE Attr2, int Direction, int C); void BuffEraseBox(int XStart, int YStart, int XEnd, int YEnd); void BuffCBCopy(BOOL Table); void BuffPrint(BOOL ScrollRegion); void BuffDumpCurrentLine(BYTE TERM); void BuffPutChar(BYTE b, BYTE Attr, BYTE Attr2, BOOL Insert); void BuffPutKanji(WORD w, BYTE Attr, BYTE Attr2, BOOL Insert); void BuffUpdateRect(int XStart, int YStart, int XEnd, int YEnd); void UpdateStr(); void MoveCursor(int Xnew, int Ynew); void MoveRight(); void BuffSetCaretWidth(); void BuffScrollNLines(int n); void BuffClearScreen(); void BuffUpdateScroll(); void CursorUpWithScroll(); void BuffDblClk(int Xw, int Yw); void BuffTplClk(int Yw); void BuffStartSelect(int Xw, int Yw, BOOL Box); void BuffChangeSelect(int Xw, int Yw, int NClick); void BuffEndSelect(); void BuffChangeWinSize(int Nx, int Ny); void BuffChangeTerminalSize(int Nx, int Ny); void ChangeWin(); void ClearBuffer(); void SetTabStop(); void MoveToNextTab(); void ClearTabStop(int Ps); void ShowStatusLine(int Show); PCHAR CBOpen(LONG MemSize); void CBClose(); void CBStartPaste(HWND HWin, BOOL AddCR, int BuffSize, PCHAR DataPtr, int DataSize); void CBSend(); void CBEndPaste(); #endif