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

📄 motcp.h

📁 MONA是为数不多的C++语言编写的一个很小的操作系统
💻 H
字号:
/*!    \file  MoTcp.h    \brief TCP僾儘僩僐儖幚憰僋儔僗 僿僢僟    Copyright (c) 2004 Yamami    All rights reserved.    License=MIT/X Licnese    \author  Yamami     \version $Revision: 1.1 $    \date   create:2004/10/11 update:$Date: 2004/10/31 14:29:43 $*/#ifndef _MONA_MOTCP_#define _MONA_MOTCP_#include <sys/types.h>#include <sys/HashMap.h>#include <monapi.h>#include "MoPacUtl.h"#include "MonesDefine.h"#include "AbstractMonic.h"/* TCP憌 */#define tcphdr_src_port     0           /* 2 */#define tcphdr_dest_port    (tcphdr_src_port+2) /* 2 */#define tcphdr_seq      (tcphdr_dest_port+2)    /* 4 */#define tcphdr_ack      (tcphdr_seq+4)      /* 4 */#define tcphdr_len      (tcphdr_ack+4)      /* 1 */#define tcphdr_flag     (tcphdr_len+1)      /* 1 */#define tcphdr_win      (tcphdr_flag+1)     /* 2 */#define tcphdr_chksum       (tcphdr_win+2)      /* 2 */#define tcphdr_urg      (tcphdr_chksum+2)   /* 2 */#define tcphdr_opt_mss      (tcphdr_urg+2)      /* 4 */#define SIZEOF_TCPHDR       (tcphdr_opt_mss+4)/*!  *  \struct T_TSOCK *  \brief 僜働僢僩峔憿懱 */typedef struct t_socket {    unsigned char   status;    unsigned long       ip;    unsigned int    myport;    unsigned int    youport;    unsigned long   seq;    /* 帺暘偐傜偺僔乕働儞僗斣崋 */    unsigned long   ack;    /* 憡庤偐傜偺僔乕働儞僗斣崋 */} T_TSOCK;/* TCP 忬懺慗堏 */#define     CLOSED      0#define     LISTEN      0#define     SYN_RCVD    1#define     SYN_SENT    1#define     ESTABLISHED 2#define     FIN_WAIT_1  4#define     CLOSE_WAIT  4#define     LAST_ACK    4#define     FIN_WAIT_2  5//#define       TIME_WAIT       6/* TCP header flag bit */#define TCP_FLAG_FIN 0x01#define TCP_FLAG_SYN 0x02#define TCP_FLAG_RST 0x04#define TCP_FLAG_PSH 0x08#define TCP_FLAG_ACK 0x10#define TCP_FLAG_URG 0x20//Yamami????/*!  *  \struct Packet *  \brief Packet峔憿懱 */struct Packet {    char buffer[1518];    unsigned int size;    char *ptr;    char flag;};/* flag bit for Packet.flag */#define PKT_ARP_WAIT 0x01#define PKT_IP_REQUEST 0x02#define PKT_SYN_WAIT 0x10/*!    MoTcp class*/class MoTcp{      public:        //僐儞僗僩儔僋僞    MoTcp();    ~MoTcp();    void initTcp(AbstractMonic*);    void send_tcp(T_TSOCK *sock, char flags, struct Packet *packet, char *data, dword size);  private:    //NIC僪儔僀僶    AbstractMonic* insAbstractNic;};#endif

⌨️ 快捷键说明

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