Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/teraterm/common/ttplugin.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4165 - (show annotations) (download) (as text)
Wed Nov 24 11:35:04 2010 UTC (2 years, 5 months ago) by doda
File MIME type: text/x-chdr
File size: 3655 byte(s)
freeaddrinfoをTTXでフック出来るようにした。
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

SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.