⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 epocnet.h

📁 大名鼎鼎的远程登录软件putty的Symbian版源码
💻 H
字号:
/** @file epocnet.h * * Symbian OS implementation of PuTTY networking support * * Mostly copied from the SyOSsh EPOC Release 5 port by Gabor Keresztfalvi, * some additional fixes for the current Symbian port by Petteri Kangaslampi * * [No copyright messages in the original, assumed to be copyrighted by *  Gabor Keresztfavli and available through the PuTTY license] * * Portions copyright 2002 Petteri Kangaslampi * * See license.txt for full copyright and license information.*/#ifndef PUTTY_EPOCNET_H#define PUTTY_EPOCNET_H#include <e32std.h>#include <e32base.h>#include <w32std.h>#include <apgtask.h>#include <es_sock.h>#include <in_sock.h>/** * A socket activity watcher mixin interface class. * Used by the engine to keep track of * the number of open sockets. */class MSocketWatcher {public:    /** Called when a socket is opened. */    virtual void SocketOpened() = 0;        /** Called when a socket is closed. */    virtual void SocketClosed() = 0;};/**  * Sets a socket watcher object. The watcher will be notified when a socket * is opened or closed. *  * @param aWatcher The watcher object. Set to NULL to remove the watcher. * * @see MSocketWatcher */void sk_set_watcher(MSocketWatcher *aWatcher);/**  * Gets the number of active sockets. *  * @return The number of active sockets. */int sk_num_active_sockets(void);/**  * Sets the logging context to use for networking log messages. *  * @param aLogCtx The log context */void sk_provide_logctx(void *aLogCtx);class CNetAS : public CActiveScheduler{	void Error(TInt err) const	{ 		_LIT(KMsgErr,"CNetAS-error");		User::Panic(KMsgErr,err);	};};class CRecver : public CActive{public:	static CRecver *NewL(Socket p);	~CRecver();	void StartRecver();	void Reissue();private:	CRecver();	void ConstructL(Socket p);	void RunL();		// From CActive	void DoCancel();	// From CActive        void DoRunL();private:	TBuf8<2048> readbuf;	TSockXfrLength readlen;	Socket parent;};class CSender : public CActive{public:	static CSender *NewL(Socket p);	~CSender();	void Sendit();private:	CSender();	void ConstructL(Socket p);	void RunL();		// From CActive	void DoCancel();	// From CActive        void DoRunL();private:	TPtrC8 writebuf;	Socket parent;};class CAcceptor : public CActive{public:	static CAcceptor *NewL(Socket p);	~CAcceptor();	void StartAcceptor();private:	CAcceptor();	void ConstructL(Socket p);	void RunL();		// From CActive	void DoCancel();	// From CActive        void DoRunL();private:	Socket parent;};class RSocketS : public RSocket{public:	TInt id, selectflags;	TRequestStatus estat;	CRecver *r;	CSender *s;	CAcceptor *a;};/* Some defines... */#ifndef SOCKET#define SOCKET RSocketS *#endif#ifndef INVALID_SOCKET#define INVALID_SOCKET NULL#endif#ifndef SOCKET_ERROR#define SOCKET_ERROR NULL#endif#define KInvalSocket 100#define MAXSOCKETS 10#define FD_CONNECT 1#define FD_READ 2#define FD_WRITE 3#define FD_EXCEPTION 4#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -