| 1 |
/* Tera Term extension mechanism
|
| 2 |
Robert O'Callahan (roc+tt@cs.cmu.edu)
|
| 3 |
|
| 4 |
Tera Term by Takashi Teranishi (teranishi@rikaxp.riken.go.jp)
|
| 5 |
*/
|
| 6 |
|
| 7 |
#ifndef __TTPLUGIN_H
|
| 8 |
#define __TTPLUGIN_H
|
| 9 |
|
| 10 |
#include "teraterm.h"
|
| 11 |
#include "ttdialog.h"
|
| 12 |
#include "ttwsk.h"
|
| 13 |
#include "ttsetup.h"
|
| 14 |
#include "ttfileio.h"
|
| 15 |
|
| 16 |
typedef struct {
|
| 17 |
Tclosesocket FAR * Pclosesocket;
|
| 18 |
Tconnect FAR * Pconnect;
|
| 19 |
Thtonl FAR * Phtonl;
|
| 20 |
Thtons FAR * Phtons;
|
| 21 |
Tinet_addr FAR * Pinet_addr;
|
| 22 |
Tioctlsocket FAR * Pioctlsocket;
|
| 23 |
Trecv FAR * Precv;
|
| 24 |
Tselect FAR * Pselect;
|
| 25 |
Tsend FAR * Psend;
|
| 26 |
Tsetsockopt FAR * Psetsockopt;
|
| 27 |
Tsocket FAR * Psocket;
|
| 28 |
TWSAAsyncSelect FAR * PWSAAsyncSelect;
|
| 29 |
TWSAAsyncGetHostByName FAR * PWSAAsyncGetHostByName;
|
| 30 |
TWSACancelAsyncRequest FAR * PWSACancelAsyncRequest;
|
| 31 |
TWSAGetLastError FAR * PWSAGetLastError;
|
| 32 |
// Tgetaddrinfo FAR * Pgetaddrinfo;
|
| 33 |
Tfreeaddrinfo FAR * Pfreeaddrinfo;
|
| 34 |
TWSAAsyncGetAddrInfo FAR * PWSAAsyncGetAddrInfo;
|
| 35 |
} TTXSockHooks;
|
| 36 |
|
| 37 |
typedef struct {
|
| 38 |
TCreateFile FAR * PCreateFile;
|
| 39 |
TCloseFile FAR * PCloseFile;
|
| 40 |
TReadFile FAR * PReadFile;
|
| 41 |
TWriteFile FAR * PWriteFile;
|
| 42 |
} TTXFileHooks;
|
| 43 |
|
| 44 |
typedef struct {
|
| 45 |
PReadIniFile FAR * ReadIniFile;
|
| 46 |
PWriteIniFile FAR * WriteIniFile;
|
| 47 |
PReadKeyboardCnf FAR * ReadKeyboardCnf;
|
| 48 |
PCopyHostList FAR * CopyHostList;
|
| 49 |
PAddHostToList FAR * AddHostToList;
|
| 50 |
PParseParam FAR * ParseParam;
|
| 51 |
} TTXSetupHooks;
|
| 52 |
|
| 53 |
typedef struct {
|
| 54 |
PSetupTerminal FAR * SetupTerminal;
|
| 55 |
PSetupWin FAR * SetupWin;
|
| 56 |
PSetupKeyboard FAR * SetupKeyboard;
|
| 57 |
PSetupSerialPort FAR * SetupSerialPort;
|
| 58 |
PSetupTCPIP FAR * SetupTCPIP;
|
| 59 |
PGetHostName FAR * GetHostName;
|
| 60 |
PChangeDirectory FAR * ChangeDirectory;
|
| 61 |
PAboutDialog FAR * AboutDialog;
|
| 62 |
PChooseFontDlg FAR * ChooseFontDlg;
|
| 63 |
PSetupGeneral FAR * SetupGeneral;
|
| 64 |
PWindowWindow FAR * WindowWindow;
|
| 65 |
} TTXUIHooks;
|
| 66 |
|
| 67 |
typedef struct {
|
| 68 |
int size;
|
| 69 |
int loadOrder; /* smaller numbers get loaded first */
|
| 70 |
void (PASCAL FAR * TTXInit)(PTTSet ts, PComVar cv); /* called first to last */
|
| 71 |
void (PASCAL FAR * TTXGetUIHooks)(TTXUIHooks FAR * UIHooks); /* called first to last */
|
| 72 |
void (PASCAL FAR * TTXGetSetupHooks)(TTXSetupHooks FAR * setupHooks); /* called first to last */
|
| 73 |
void (PASCAL FAR * TTXOpenTCP)(TTXSockHooks FAR * hooks); /* called first to last */
|
| 74 |
void (PASCAL FAR * TTXCloseTCP)(TTXSockHooks FAR * hooks); /* called last to first */
|
| 75 |
void (PASCAL FAR * TTXSetWinSize)(int rows, int cols); /* called first to last */
|
| 76 |
void (PASCAL FAR * TTXModifyMenu)(HMENU menu); /* called first to last */
|
| 77 |
void (PASCAL FAR * TTXModifyPopupMenu)(HMENU menu); /* called first to last */
|
| 78 |
int (PASCAL FAR * TTXProcessCommand)(HWND hWin, WORD cmd); /* returns TRUE if handled, called last to first */
|
| 79 |
void (PASCAL FAR * TTXEnd)(void); /* called last to first */
|
| 80 |
void (PASCAL FAR * TTXSetCommandLine)(PCHAR cmd, int cmdlen, PGetHNRec rec); /* called first to last */
|
| 81 |
void (PASCAL FAR * TTXOpenFile)(TTXFileHooks FAR * hooks); /* called first to last */
|
| 82 |
void (PASCAL FAR * TTXCloseFile)(TTXFileHooks FAR * hooks); /* called last to first */
|
| 83 |
} TTXExports;
|
| 84 |
|
| 85 |
/* On entry, 'size' is set to the size of the structure and the rest of
|
| 86 |
the fields are set to 0 or NULL. Any fields not understood by the extension DLL
|
| 87 |
should be left untouched, i.e. NULL. Any NULL functions are assumed to have
|
| 88 |
default behaviour, i.e. do nothing.
|
| 89 |
This is all for binary compatibility across releases; if the record gets bigger,
|
| 90 |
then the extra functions will be NULL for DLLs that don't understand them. */
|
| 91 |
typedef BOOL (PASCAL FAR * TTXBindProc)(WORD Version, TTXExports FAR * exports);
|
| 92 |
|
| 93 |
#endif
|