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

📄 netdf.h

📁 开发TIC6000DSP经典重要资料,NDK(Network Development Kit) for TI C6000 DSP,本人费尽心血才搞到的,是开发DSP网络通讯的基础.
💻 H
字号:
//----------------------------------------------------------------------
//  Ip Stack
//----------------------------------------------------------------------
//  File: netdf.h
//
//  Basic Network Data Formats
//
// Author: Michael A. Denio
// Copyright 1999 by Texas Instruments Inc.
//----------------------------------------------------------------------
#ifndef _C_NETDF_INC
#define _C_NETDF_INC  /* #defined if this .h file has been included */

//----------------
//
// Ethernet Header
//
#define ETHHDR_SIZE     14

typedef struct {
                UINT8   DstMac[6];
                UINT8   SrcMac[6];
                UINT16  Type;
               } ETHHDR;


//-----------------------------------------------------------------------
//
// Ethernet ARP Protocol Header
//

#define ARPHDR_SIZE     28

typedef struct {
                UINT16   HardType;
                UINT16   ProtocolType;
                UINT8    HardSize;
                UINT8    ProtocolSize;
                UINT16   Op;
                UINT8    SrcAddr[6];
                UINT8    IPSrc[4];
                UINT8    DstAddr[6];
                UINT8    IPDst[4];
               } ARPHDR;

//----------------------------------------------------
//
// IP HEADER
//

#define IPHDR_SIZE      20

typedef struct {
                UINT8    VerLen;
                UINT8    Tos;
                UINT16   TotalLen;
                UINT16   Id;
                UINT16   FlagOff;
                UINT8    Ttl;
                UINT8    Protocol;
                UINT16   Checksum;
                IPN      IPSrc;
                IPN      IPDst;
                UINT8    Options[1];
               } IPHDR;

//----------------------------------------------------
//
// ICMP HEADER
//

#define ICMPHDR_SIZE    4

typedef struct {
                UINT8    Type;
                UINT8    Code;
                UINT16   Checksum;
                UINT8    Data[1];
               } ICMPHDR;

#define ICMPREQHDR_SIZE 4

typedef struct {
                UINT16    Id;
                UINT16    Seq;
                UINT8     Data[1];
               } ICMPREQHDR;

#define ICMPRTAHDR_SIZE 12

typedef struct {
                UINT8    NumAddr;
                UINT8    Size;
                UINT16   Lifetime;
                struct _rta {
                             IPN     IPAddr;
                             INT32   Pref;
                        } rta[1];
               } ICMPRTAHDR;


//----------------------------------------------------
//
// IGMP HEADER
//

#define IGMPHDR_SIZE    8

typedef struct {
                UINT8    VerType;
                UINT8    Res;
                UINT16   Checksum;
                IPN      IpAddr;
               } IGMPHDR;


//----------------------------------------------------
//
// TCP HEADER
//

#define TCPHDR_SIZE     20

typedef struct {
                UINT16   SrcPort;
                UINT16   DstPort;
                UINT32   Seq;
                UINT32   Ack;
                UINT8    HdrLen;
                UINT8    Flags;
                UINT16   WindowSize;
                UINT16   TCPChecksum;
                UINT16   UrgPtr;
                UINT8    Options[1];
               } TCPHDR;

//----------------------------------------------------
//
// UDP HEADER
//
#define UDPHDR_SIZE     8

typedef struct {
                UINT16   SrcPort;
                UINT16   DstPort;
                UINT16   Length;
                UINT16   UDPChecksum;
               } UDPHDR;

// Pseudo Header for Checksum
typedef struct {
                IPN     IPSrc;
                IPN     IPDst;
                UINT16  Length;
                UINT8   Null;
                UINT8   Protocol;
                } PSEUDO;

#endif

⌨️ 快捷键说明

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