亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wattcp.h

?? dos 下 網(wǎng)絡(luò)協(xié)議 dos 下 網(wǎng)絡(luò)協(xié)議
?? H
?? 第 1 頁 / 共 2 頁
字號(hào):

#ifndef _wattcp_wattcp_h
#define _wattcp_wattcp_h

/*
 * Are we compiling the kernel?
 *    or an application using the kernel?
 */
#if !defined(__WATTCP_USER__)
#define __WATTCP_KERNEL__
#endif

/*
 * Note that some stuff is not available to user applications.
 *   This is generally detail you shouldn't need to worry about,
 *   and best stay away from to preserve the kernel integrity.
 * Note also that there is a lot of other stuff that should probably
 *   be protected but isn't.
 */

#define WATTCPH

/* these are visible for select.c routine return values */
#define SOCKESTABLISHED 1
#define SOCKDATAREADY   2
#define SOCKCLOSED      4

#if defined(__WATTCP_KERNEL__)

#define IP_TYPE     0x0008

/*
#define DEBUG
*/

#include <stdio.h>
#include <elib.h>

#define MAX_GATE_DATA 12
#define MAX_STRING 50	/* most strings are limited */
#endif  /* defined(__WATTCP_KERNEL__) */

#define MAX_NAMESERVERS 10
#define MAX_COOKIES 10

#if defined(__WATTCP_KERNEL__)

#define MAXVJSA     1440 /* 10 s */
#define MAXVJSD     360  /* 10 s */
#define SAFETYTCP  0x538f25a3L
#define SAFETYUDP  0x3e45e154L
#define TRUE        1
#define true        TRUE
#define FALSE       0
#define false       FALSE

#define EL_INUSE        0x0001
#define EL_DELAY        0x0002
#define EL_TCP          0x0004
#define EL_SERVER       0x0008
#define EL_ASCII        0x0010
#define EL_NEVER        0x0020

/* These are Ethernet protocol numbers but I use them for other things too */
#define UDP_PROTO  0x11
#define TCP_PROTO  0x06
#define ICMP_PROTO 0x01

#endif /* defined(__WATTCP_KERNEL__) */

#define TCP_MODE_BINARY  0       /* default mode */
#define TCP_MODE_ASCII   1
#define UDP_MODE_CHK     0       /* default to having checksums */
#define UDP_MODE_NOCHK   2       /* turn off checksums */
#define TCP_MODE_NAGLE   0       /* Nagle algorithm */
#define TCP_MODE_NONAGLE 4

typedef unsigned long longword;     /* 32 bits */
typedef unsigned short word;        /* 16 bits */
typedef unsigned char byte;         /*  8 bits */

typedef struct { byte eaddr[6]; } eth_address;    // 94.11.19 -- made an array

#if defined(__WATTCP_KERNEL__)

/* undesirable */
extern longword MsecClock();
#define clock_ValueRough() MsecClock()

#define TICKS_SEC 18

#define checksum( p, len) inchksum( p, len )

#define PD_ETHER 1
#define PD_SLIP  6

extern word sock_inactive;      /* in pcbootp.c */
extern word _pktdevclass;
extern word _mss;
extern word _bootptimeout;	/* in pcbootp.c */
extern longword _bootphost;	/* in pcbootp.c */
extern word _bootpon;

/* The Ethernet header */
typedef struct {
    eth_address     destination;
    eth_address     source;
    word            type;
} eth_Header;

/* The Internet Header: */
typedef struct {
    unsigned	    hdrlen  : 4;
    unsigned	    ver     : 4;
    byte	    tos;
    word            length;
    word            identification;
    word            frags;
    byte	    ttl;
    byte	    proto;
    word            checksum;
    longword        source;
    longword        destination;
} in_Header;


#define in_GetVersion(ip) ( (ip)->ver )
#define in_GetHdrlen(ip)  ( (ip)->hdrlen )  /* 32 bit word size */
#define in_GetHdrlenBytes(ip)  ( in_GetHdrlen(ip) << 2 ) /* 8 bit byte size */
#define in_GetTos(ip)      ( (ip)->tos)

#define in_GetTTL(ip)      ((ip)->ttl)
#define in_GetProtocol(ip) ((ip)->proto )

typedef struct {
    word	    srcPort;
    word	    dstPort;
    word	    length;
    word	    checksum;
} udp_Header;

#define UDP_LENGTH ( sizeof( udp_Header ))

typedef struct {
    word            srcPort;
    word            dstPort;
    longword        seqnum;
    longword        acknum;
    word            flags;
    word            window;
    word            checksum;
    word            urgentPointer;
} tcp_Header;

#define tcp_FlagFIN     0x0001
#define tcp_FlagSYN     0x0002
#define tcp_FlagRST     0x0004
#define tcp_FlagPUSH    0x0008
#define tcp_FlagACK     0x0010
#define tcp_FlagURG     0x0020
#define tcp_FlagDO      0xF000
#define tcp_GetDataOffset(tp) (intel16((tp)->flags) >> 12)

#endif /* defined(__WATTCP_KERNEL__) */

/* The TCP/UDP Pseudo Header */
typedef struct {
    longword    src;
    longword    dst;
    byte        mbz;
    byte        protocol;
    word        length;
    word        checksum;
} tcp_PseudoHeader;


/* A datahandler for tcp or udp sockets */
typedef int (*dataHandler_t)( void *s, byte *data, int len, tcp_PseudoHeader *pseudohdr, void *protohdr );
/* A socket function for delay routines */
typedef int (*sockfunct_t)( void *s );

#if defined(__WATTCP_KERNEL__)
/*
 * TCP states, from tcp manual.
 * Note: close-wait state is bypassed by automatically closing a connection
 *       when a FIN is received.  This is easy to undo.
 */
#define tcp_StateLISTEN  0      /* listening for connection */
#define tcp_StateSYNSENT 1      /* syn sent, active open */
#define tcp_StateSYNREC  2      /* syn received, synack+syn sent. */
#define tcp_StateESTAB   3      /* established */
#define tcp_StateESTCL   4      /* established, but will FIN */
#define tcp_StateFINWT1  5      /* sent FIN */
#define tcp_StateFINWT2  6      /* sent FIN, received FINACK */
#define tcp_StateCLOSWT  7      /* received FIN waiting for close */
#define tcp_StateCLOSING 8      /* sent FIN, received FIN (waiting for FINACK) */
#define tcp_StateLASTACK 9      /* fin received, finack+fin sent */
#define tcp_StateTIMEWT  10     /* dally after sending final FINACK */
#define tcp_StateCLOSEMSL 11
#define tcp_StateCLOSED  12     /* finack received */

#define tcp_MaxBufSize 2048         /* maximum bytes to buffer on input */

#endif


#if defined(__WATTCP_KERNEL__)
/*
 * UDP socket definition
 */
typedef struct _udp_socket {
    struct _udp_socket *next;
    word	    ip_type;		/* always set to UDP_PROTO */
    char	   *err_msg;		/* null when all is ok */
    char           *usr_name;
    void	  (*usr_yield)( void );
    byte            rigid;
    byte            stress;
    word	    sock_mode;	        /* a logical OR of bits */
    longword	    usertimer;		/* ip_timer_set, ip_timer_timeout */
    dataHandler_t  dataHandler;
    eth_address     hisethaddr;		/* peer's ethernet address */
    longword        hisaddr;		/* peer's internet address */
    word	    hisport;		/* peer's UDP port */
    longword        myaddr;
    word	    myport;
    word            locflags;

    int             queuelen;
    byte           *queue;

    int             rdatalen;           /* must be signed */
    word            maxrdatalen;
    byte           *rdata;
    byte            rddata[ tcp_MaxBufSize + 1];         /* if dataHandler = 0, len == 512 */
    longword        safetysig;
} udp_Socket;
#else /* __WATTCP_USER */
/*
 * Don't give users access to the fields.
 */
typedef struct {
    byte undoc[ 2200 ];
} udp_Socket;
#endif /* __WATTCP_USER__ */

#if defined(__WATTCP_KERNEL__)
/*
 * TCP Socket definition
 */
typedef struct _tcp_socket {
    struct _tcp_socket *next;
    word	    ip_type;	    /* always set to TCP_PROTO */
    char 	   *err_msg;
    char           *usr_name;
    void          (*usr_yield)(void);
    byte            rigid;
    byte            stress;
    word	    sock_mode;	    /* a logical OR of bits */

    longword	    usertimer;	    /* ip_timer_set, ip_timer_timeout */
    dataHandler_t   dataHandler;    /* called with incoming data */
    eth_address     hisethaddr;     /* ethernet address of peer */
    longword        hisaddr;        /* internet address of peer */
    word            hisport;	    /* tcp ports for this connection */
    longword        myaddr;
    word	    myport;
    word            locflags;

    int             queuelen;
    byte           *queue;

    int             rdatalen;       /* must be signed */
    word            maxrdatalen;
    byte           *rdata;
    byte            rddata[tcp_MaxBufSize+1];    /* received data */
    longword        safetysig;
    word	    state;          /* connection state */

    longword        acknum;
    longword	    seqnum; 	    /* data ack'd and sequence num */
    long            timeout;        /* timeout, in milliseconds */
    byte            unhappy;        /* flag, indicates retransmitting segt's */
    byte            recent;         /* 1 if recently transmitted */
    word            flags;          /* tcp flags word for last packet sent */

    word	    window;	    /* other guy's window */
    int 	    datalen;        /* number of bytes of data to send */
				    /* must be signed */
    int             unacked;        /* unacked data */

    byte	    cwindow;	    /* Van Jacobson's algorithm */
    byte	    wwindow;

    word	    vj_sa;	    /* VJ's alg, standard average */
    word	    vj_sd;	    /* VJ's alg, standard deviation */
    longword	    vj_last;	    /* last transmit time */
    word	    rto;
    byte	    karn_count;	    /* count of packets */
    byte            tos;            /* priority */
    /* retransmission timeout proceedure */
    /* these are in clock ticks */
    longword        rtt_lasttran;       /* last transmission time */
    longword        rtt_smooth;         /* smoothed round trip time */
    longword        rtt_delay;          /* delay for next transmission */
    longword        rtt_time;           /* time of next transmission */

    word            mss;
    longword        inactive_to;           /* for the inactive flag */
    int             sock_delay;

    byte            data[tcp_MaxBufSize+1]; /* data to send */
    longword        datatimer;          /* EE 99.08.23 note broken connections */
    longword	    frag[2];		/* S. Lawson - handle one dropped segment */
} tcp_Socket;
#else /* __WATTCP_USER */
/*
 * Don't give users access to the fields.
 */
typedef struct {
    byte undoc[ 4300 ];
} tcp_Socket;
#endif /* __WATTCP_USER__ */

#if defined(__WATTCP_KERNEL__)
/* sock_type used for socket io */
typedef union {
    udp_Socket udp;
    tcp_Socket tcp;
} sock_type;
#else /* __WATTCP_USER__ */
typedef void sock_type;
#endif /* __WATTCP_USER__ */

/* similar to UNIX */
typedef struct sockaddr {
    word        s_type;
    word        s_port;
    longword    s_ip;
    byte        s_spares[6];    /* unused in TCP realm */
} sockaddr;
#define sockaddr_in sockaddr

        /*
         * TCP/IP system variables - do not change these since they
         *      are not necessarily the source variables, instead use
         *      ip_Init function
         */
extern longword my_ip_addr;
extern longword sin_mask;       /* eg.  0xfffffe00L */
extern word sock_delay;
extern word sock_data_timeout;  /* EE 99.08.23 */

#if defined(__WATTCP_KERNEL__)
extern eth_address _eth_addr;
extern eth_address _eth_brdcast;
#endif


#if defined(__WATTCP_KERNEL__)
/*
 * ARP definitions
 */
#define arp_TypeEther  0x100		/* ARP type of Ethernet address */

/* arp op codes */
#define ARP_REQUEST 0x0100
#define ARP_REPLY   0x0200

/*
 * Arp header
 */
typedef struct {
    word            hwType;
    word            protType;
    word            hwProtAddrLen;  // hw and prot addr len
    word            opcode;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新久久zyz资源站| 欧美高清视频www夜色资源网| 亚洲sss视频在线视频| 中文字幕日韩精品一区| 国产欧美日韩另类视频免费观看| 精品成人佐山爱一区二区| 日韩欧美在线网站| 欧美sm美女调教| 欧美xingq一区二区| 欧美成人性战久久| 欧美精品一区二区三区在线播放| 精品女同一区二区| 久久老女人爱爱| 国产欧美一区二区三区在线看蜜臀 | 一区二区三区不卡视频| 亚洲精品水蜜桃| 亚洲国产精品一区二区久久恐怖片| 亚洲一二三区在线观看| 午夜精品福利一区二区蜜股av | 狠狠色狠狠色综合系列| 东方aⅴ免费观看久久av| 亚洲一区二区四区蜜桃| 亚洲激情自拍偷拍| 亚洲一区二区免费视频| 亚洲成人精品影院| 免费成人在线影院| 国产一区二区美女诱惑| 国产**成人网毛片九色| 91在线无精精品入口| 欧美优质美女网站| 91精品在线麻豆| 久久人人爽爽爽人久久久| 日韩二区在线观看| 国产真实乱对白精彩久久| 成人av资源在线观看| 在线中文字幕一区二区| 日韩你懂的在线观看| 国产精品网友自拍| 亚洲国产sm捆绑调教视频 | 99久久婷婷国产| 欧美日韩国产免费| 国产丝袜美腿一区二区三区| 亚洲色图在线视频| 日韩精品久久理论片| 国产麻豆午夜三级精品| 91碰在线视频| 日韩欧美黄色影院| 亚洲色图19p| 久久精品噜噜噜成人av农村| 99国产精品久| 精品久久久久一区二区国产| 亚洲欧美日韩国产综合| 老司机精品视频导航| 色综合中文字幕国产 | 亚洲国产综合在线| 亚洲h在线观看| 麻豆传媒一区二区三区| 成人午夜在线免费| 欧美日韩成人综合天天影院 | 91蝌蚪porny| 欧美日韩你懂的| 亚洲国产成人一区二区三区| 男女男精品视频| 色乱码一区二区三区88| 国产亚洲福利社区一区| 亚洲国产精品尤物yw在线观看| 日韩一级视频免费观看在线| 国产精品人妖ts系列视频| 久久精品久久99精品久久| 欧美性猛交xxxxxx富婆| 国产精品嫩草99a| 国内成人自拍视频| 欧美人伦禁忌dvd放荡欲情| 亚洲欧洲精品天堂一级| 国产精一区二区三区| 亚洲欧美日韩在线| 国产剧情在线观看一区二区| 欧美日韩国产天堂| 亚洲精品亚洲人成人网在线播放| 国产美女精品在线| 欧美一区二区三区在线电影| 夜夜爽夜夜爽精品视频| 国v精品久久久网| 精品久久国产97色综合| 丝袜美腿亚洲色图| 色综合久久九月婷婷色综合| 久久九九99视频| 日韩**一区毛片| 欧美日韩一区二区在线观看| 亚洲欧美aⅴ...| 99精品欧美一区二区三区综合在线| 久久久久久久国产精品影院| 精品在线你懂的| 日韩久久久久久| 蜜桃精品视频在线观看| 欧美剧情片在线观看| 亚洲综合激情另类小说区| 色成年激情久久综合| 国产精品久久福利| www.日韩精品| 国产精品不卡一区| 99久久精品国产导航| 综合久久国产九一剧情麻豆| 成人丝袜视频网| 国产精品电影院| 91视视频在线观看入口直接观看www| 国产精品国产精品国产专区不蜜 | 国产凹凸在线观看一区二区| 2022国产精品视频| 麻豆专区一区二区三区四区五区| 日韩女优制服丝袜电影| 精品一区二区三区在线播放视频| 精品黑人一区二区三区久久| 国产乱淫av一区二区三区| 欧美激情自拍偷拍| 99re66热这里只有精品3直播| 亚洲丝袜另类动漫二区| 在线精品国精品国产尤物884a| 亚洲一区二区三区三| 欧美精品1区2区3区| 精品午夜一区二区三区在线观看| 久久亚洲捆绑美女| 99精品欧美一区二区三区小说| 亚洲一区二三区| 日韩视频免费观看高清在线视频| 极品少妇xxxx精品少妇偷拍| 亚洲国产成人在线| 在线看日本不卡| 成人免费高清视频在线观看| 麻豆精品一二三| 精品99一区二区三区| 福利电影一区二区三区| 亚洲欧洲精品一区二区三区| 欧美私人免费视频| 免费精品视频在线| 国产人久久人人人人爽| 91福利小视频| 久久激情综合网| 国产精品网站在线| 欧美日韩在线综合| 国产精品一区免费视频| 一区二区三区在线视频免费| 日韩欧美在线综合网| www.欧美.com| 丝袜美腿一区二区三区| 国产喷白浆一区二区三区| 在线一区二区三区| 久久国产综合精品| 亚洲视频中文字幕| 日韩免费观看高清完整版| 成人sese在线| 免费精品视频最新在线| 综合av第一页| 日韩欧美国产三级| 色综合久久久久久久| 极品少妇一区二区三区精品视频| 国产一区二区在线观看视频| 亚洲欧美视频在线观看视频| 精品久久一区二区三区| 色综合视频一区二区三区高清| 日本成人在线不卡视频| 色综合中文综合网| 日韩久久精品一区| 色综合久久88色综合天天6| 精品在线免费观看| 亚洲永久精品国产| 国产精品热久久久久夜色精品三区| 欧美裸体bbwbbwbbw| 成人午夜电影久久影院| 欧美aaa在线| 亚洲精品综合在线| 久久精品欧美日韩精品| 欧美一区二区网站| 欧美性感一区二区三区| 丰满亚洲少妇av| 麻豆91精品视频| 亚洲国产裸拍裸体视频在线观看乱了 | 久久99热这里只有精品| 亚洲综合av网| 亚洲视频在线一区| 中文字幕av一区二区三区| eeuss鲁片一区二区三区在线看| 亚洲国产日日夜夜| 国产精品全国免费观看高清| 久久综合九色综合久久久精品综合| 欧美日韩综合一区| 91在线国产福利| 成人午夜激情视频| 国产成a人无v码亚洲福利| 久久国产精品99精品国产| 天堂蜜桃91精品| 午夜婷婷国产麻豆精品| 亚洲自拍偷拍麻豆| 一二三区精品视频| 一区二区久久久久| 亚洲欧美欧美一区二区三区| 最新日韩在线视频| 亚洲色图制服丝袜| 亚洲男帅同性gay1069| 亚洲人成伊人成综合网小说|