/* File: D:\WACKER\tdll\session.h (Created: 01-Dec-1993) * * Copyright 1994 by Hilgraeve Inc. -- Monroe, MI * All rights reserved * * $Revision: 7 $ * $Date: 5/29/02 2:17p $ */ /* --- Child window identifiers --- */ #define IDC_STATUS_WIN 1 // ID of status window #define IDC_TOOLBAR_WIN 2 // ID of toolbar window #define IDC_TERMINAL_WIN 3 // ID of terminal window #define IDC_SIDEBAR_WIN 4 // ID of sidebar window /* --- Suspend identifiers --- */ #define SUSPEND_SCRLCK 1 #define SUSPEND_TERMINAL_MARKING 2 #define SUSPEND_TERMINAL_LBTNDN 3 #define SUSPEND_TERMINAL_COPY 4 /* --- Command line connection flags --- */ #define CMDLN_DIAL_NEW 0 #define CMDLN_DIAL_DIAL 1 #define CMDLN_DIAL_OPEN 2 // don't attempt connection #define CMDLN_DIAL_WINSOCK 3 // try the command line as an IP address /* --- Notification event IDs used with NotifyClient --- */ #define WM_SESS_NOTIFY WM_USER+0x100 #define WM_SESS_ENDDLG WM_USER+0x101 #define WM_FAKE_TIMER WM_USER+0x102 // Used in timers.c #define WM_CMDLN_DIAL WM_USER+0x103 #define WM_SESS_SIZE_SHOW WM_USER+0x104 // wPar=nCmdShow from WinMain() #define WM_CNCT_DIALNOW WM_USER+0x105 // wPar=connection flags. #define WM_DISCONNECT WM_USER+0x106 // wPar=disconnect flags. #define WM_HT_QUERYOPENFILE WM_USER+0x107 // lPar=global atom #define WM_SESS_SHOW_SIDEBAR WM_USER+0x108 // mrw,4/13/95 #define WM_ERROR_MSG WM_USER+0x109 // jmh,3/25/96 enum _emuNotify { EVENT_TERM_UPDATE, // Server has updated terminal buffer. EVENT_TERM_TRACK, // pause in data flow, can track cursor. EVENT_EMU_CLRATTR, // Clear attribute has changed. EVENT_EMU_SETTINGS, // Emulator settings changed. EVENT_FATALMEM_ERROR, // Unrecoverable memory error. EVENT_LOGFILE_ENTRY, // Server has a waiting log file item EVENT_BYTESRCH_END, // Script Byte search operation ended EVENT_USER_XFER_END, // User transfer ended EVENT_SCRIPT_XFER_END, // Script transfer ended EVENT_PORTONLY_OPEN, // similar to connection made EVENT_CONNECTION_OPENED, // connection driver made connection. EVENT_CONNECTION_CLOSED, // disconnect completed. EVENT_CONNECTION_INPROGRESS, // connection in progress EVENT_GETSTRING_END, // Get String operation ended EVENT_HOST_XFER_REQ, // host transfer request made. EVENT_HOST_XFER_ENQ, // host transfer enquiry make. EVENT_CLOOP_SEND, // CLoop send called. EVENT_SCR_FUNC_END, // A script function ended EVENT_CLOSE_SESSION, // Instructs to close the session. EVENT_ERROR_MSG, // argument has string to load. EVENT_LEARN_SOMETHING, // learning has something to do EVENT_DDE_GOT_DATA, // dde has something to return EVENT_WAIT_FOR_CALLBACK, // system should wait for callback. EVENT_KILL_CALLBACK_DLG, // dismisses callback dialog EVENT_COM_DEACTIVATED, // com driver deactivated port EVENT_CNCT_DLG, // cnct driver connection dialog message EVENT_PRINT_ERROR, // printecho error. EVENT_LED_AA_ON, // obvious... EVENT_LED_CD_ON, EVENT_LED_OH_ON, EVENT_LED_RD_ON, EVENT_LED_SD_ON, EVENT_LED_TR_ON, EVENT_LED_MR_ON, EVENT_LED_AA_OFF, EVENT_LED_CD_OFF, EVENT_LED_OH_OFF, EVENT_LED_RD_OFF, EVENT_LED_SD_OFF, EVENT_LED_TR_OFF, EVENT_LED_MR_OFF, EVENT_LOST_CONNECTION }; typedef enum _emuNotify NOTIFICATION; void NotifyClient(const HSESSION hSession, const NOTIFICATION nEvent, const long lExtra); void DecodeNotification(const HWND hwndSession, WPARAM wPar, LPARAM lPar); void DecodeSessionNotification(const HWND hwndSession, const NOTIFICATION nEvent, const LPARAM lExtra); /* --- Create and Destroy Functions --- */ HSESSION CreateSessionHandle(const HWND hwndSession); BOOL InitializeSessionHandle(const HSESSION hSession, const HWND hwnd, const CREATESTRUCT *pcs); BOOL ReinitializeSessionHandle(const HSESSION hSession, const int fUpdateTitle); void DestroySessionHandle(const HSESSION hSession); HWND CreateSessionToolbar(const HSESSION hSession, const HWND hwndSession); HWND CreateTerminalWindow(const HWND hwndSession); int CreateEngineThread(const HSESSION hSession); void DestroyEngineThread(const HSESSION hSession); /* --- Set and Query functions --- */ HWND sessQueryHwnd(const HSESSION hSession); HWND sessQueryHwndStatusbar(const HSESSION hSession); HWND sessQueryHwndToolbar(const HSESSION hSession); HUPDATE sessQueryUpdateHdl(const HSESSION hSession); void sessSetEngineThreadHdl(const HSESSION hSession, const HANDLE hThread); HANDLE sessQueryEngineThreadHdl(const HSESSION hSession); HWND sessQueryHwndTerminal(const HSESSION hSession); HTIMERMUX sessQueryTimerMux(const HSESSION hSession); VOID sessReleaseTimerMux(const HSESSION hSession); HEMU sessQueryEmuHdl(const HSESSION hSession); HCLOOP sessQueryCLoopHdl(const HSESSION hSession); HCOM sessQueryComHdl(const HSESSION hSession); HTRANSLATE sessQueryTranslateHdl(const HSESSION hSession); void sessSetSysFileHdl(const HSESSION hSession, const SF_HANDLE hSF); SF_HANDLE sessQuerySysFileHdl(const HSESSION hSession); HBACKSCRL sessQueryBackscrlHdl(const HSESSION hSession); HXFER sessQueryXferHdl(const HSESSION hSession); HFILES sessQueryFilesDirsHdl(const HSESSION hSession); HCAPTUREFILE sessQueryCaptureFileHdl(const HSESSION hSession); HPRINT sessQueryPrintHdl(const HSESSION hSession); void sessQueryCmdLn(const HSESSION hSession, LPTSTR pach, const int len); HCNCT sessQueryCnctHdl(const HSESSION hSession); #if defined(INCL_WINSOCK) int sessQueryTelnetPort(const HSESSION hSession); #endif void sessSetTimeout(const HSESSION hSession, int nTimeout); int sessQueryTimeout(const HSESSION hSession); void sessInitializeIcons(HSESSION hSession); void sessLoadIcons(HSESSION hSession); void sessSaveIcons(HSESSION hSession); void sessSetIconID(const HSESSION hSession, const int nID); int sessQueryIconID(const HSESSION hSession); HICON sessQueryIcon(const HSESSION hSession); HICON sessQueryLittleIcon(const HSESSION hSession); void sessSetName(const HSESSION hSession, const LPTSTR pach); void sessQueryName(const HSESSION hSession, const LPTSTR pach, unsigned uSize); int sessQuerySound(const HSESSION hSession); void sessSetSound(const HSESSION hSession, int fSound); //mpt:10-28-97 added 'exit on disconnect' feature int sessQueryExit(const HSESSION hSession); void sessSetExit(const HSESSION hSession, int fExit); int sessQueryIsNewSession(const HSESSION hSession); void sessSetIsNewSession(const HSESSION hSession, int fIsNewSession); void sessQueryOldName(const HSESSION hSession, const LPTSTR pach, unsigned uSize); BOOL sessIsSessNameDefault(LPTSTR pacName); void sessQueryWindowRect(const HSESSION hSession, RECT *rec); int sessQueryWindowShowCmd(const HSESSION hSession); HWND sessQuerySidebarHwnd(const HSESSION hSession); HWND CreateSidebar(const HWND hwndSession, const HSESSION hSession); // REV: 2/28/2002 added 'Allow host initiated file transfers' feature BOOL sessQueryAllowHostXfers(const HSESSION hSession); void sessSetAllowHostXfers(const HSESSION hSession, BOOL fAllowHostXfers); /* --- sessmenu.c --- */ void sessInitMenuPopupCall(const HSESSION hSession, const HMENU hMenu); void sessInitMenuPopupEdit(const HSESSION hSession, const HMENU hMenu); void sessInitMenuPopupView(const HSESSION hSession, const HMENU hMenu); void sessInitMenuPopupTransfer(const HSESSION hSession, const HMENU hMenu); void sessInitMenuPopupHelp(const HSESSION hSession, const HMENU hMenu); void HandleContextMenu(HWND hwnd, POINT point); /* --- sessutil.c --- */ void sessSnapToTermWindow(const HWND hwnd); BOOL sessComputeSnapSize(const HSESSION hSession, const LPRECT prc); void sessSetMinMaxInfo(const HSESSION hSession, const PMINMAXINFO pmmi); int OpenSession(const HSESSION hSession, HWND hwnd); BOOL SaveSession(const HSESSION hSession, HWND hwnd); void SilentSaveSession(const HSESSION hSession, HWND hwnd, BOOL fExplicit); void SaveAsSession(const HSESSION hSession, HWND hwnd); void sessSaveSessionStuff(const HSESSION hSession); BOOL sessLoadSessionStuff(const HSESSION hSession); void sessSetSuspend(const HSESSION hSession, const int iReason); void sessClearSuspend(const HSESSION hSession, const int iReason); BOOL IsSessionSuspended(const HSESSION hSession); BOOL sessSaveBackScroll(const HSESSION hSession); BOOL sessRestoreBackScroll(const HSESSION hSession); BOOL sessQueryToolbarVisible(const HSESSION hSession); BOOL sessSetToolbarVisible(const HSESSION hSession, const BOOL fVisible); BOOL sessQueryStatusbarVisible(const HSESSION hSession); BOOL sessSetStatusbarVisible(const HSESSION hSession, const BOOL fVisible); void sessCmdLnDial(const HSESSION hSession); void sessUpdateAppTitle(const HSESSION hSession); BOOL sessDisconnectToContinue(const HSESSION hSession, HWND hwnd); void sessSizeAndShow(const HWND hwnd, const int nCmdShow); void sessBeeper(const HSESSION hSession); /* --- fontdlg.c --- */ void DisplayFontDialog(const HSESSION hSession, BOOL fPrinterFont); /* --- termcpy.c --- */ BOOL CopyMarkedTextFromTerminal(const HSESSION hSession, void **ppv, DWORD *pdwCnt, const BOOL fIncludeLF); BOOL CopyTextFromTerminal(const HSESSION hSession, const PPOINT pptBeg, const PPOINT pptEnd, void **ppv, DWORD *dwCnt, const BOOL fIncludeLF); /* --- clipbrd.c --- */ BOOL PasteFromClipboardToHost(const HWND hwnd, const HSESSION hSession); /* --- toolbar.c --- */ VOID ToolbarNeedsText(HSESSION hSession, LPARAM lPar); LRESULT ToolbarNotification(const HWND hwnd, const int nId, const int nNotify, const HWND hwndCtrl); void ToolbarEnableMinitelButtons(const HWND hwndToolbar, const int fEnable); void ToolbarEnableButton(const HWND hwndToolbar, const int uID, BOOL fEnable);