funcudp.h

来自「本人编写的无线电话程序,给予PIC18C801设计,包括了uCOS的移植以及菜单」· C头文件 代码 · 共 63 行

H
63
字号


typedef INT16U 	UDP_PORT;
typedef INT8U 	UDP_SOCKET;

#define INVALID_UDP_SOCKET      (0xff)

/*
 * Default Address information - If not found in data EEPROM.
 */
// For the reason that we use dynamic IP address assignment, the 
// default address shall be 0.0.0.0
#define MY_DEFAULT_IP_ADDR_BYTE1        0
#define MY_DEFAULT_IP_ADDR_BYTE2        0
#define MY_DEFAULT_IP_ADDR_BYTE3        0
#define MY_DEFAULT_IP_ADDR_BYTE4        0

#define MY_DEFAULT_MASK_BYTE1           0xff
#define MY_DEFAULT_MASK_BYTE2           0xff
#define MY_DEFAULT_MASK_BYTE3           0xff
#define MY_DEFAULT_MASK_BYTE4           0x00

#define MY_DEFAULT_GATE_BYTE1           MY_DEFAULT_IP_ADDR_BYTE1
#define MY_DEFAULT_GATE_BYTE2           MY_DEFAULT_IP_ADDR_BYTE2
#define MY_DEFAULT_GATE_BYTE3           MY_DEFAULT_IP_ADDR_BYTE3
#define MY_DEFAULT_GATE_BYTE4           MY_DEFAULT_IP_ADDR_BYTE4

#define MAX_UDP_DATA		2048

typedef rom struct _UDP_HEADER
{
    UDP_PORT    SourcePort;
    UDP_PORT    DestinationPort;
    WORD        Length;
    WORD        Checksum;
} UDP_HEADER;


typedef rom struct _UDP_SOCKET_INFO
{
    IP_ADDR   	remoteAddr;
    UDP_PORT    remotePort;
    UDP_PORT    localPort;
    OS_EVENT *	sockOwner;
    INT8U rom * TxBuf;
    INT16U		TxCount;
} UDP_SOCKET_INFO;
//public functions
void UDPInit(void);
UDP_SOCKET UDPOpen(IP_ADDR 			remoteAddr,
                   UDP_PORT 		remotePort,
                   UDP_PORT 		localPort,
                   OS_EVENT * 		sockOwner);
void UDPClose(UDP_SOCKET s);
INT8U UDPPutS(UDP_SOCKET 	s,
              INT8U rom * 	pD,
              INT16U 		len);
INT8U UDPPutB(UDP_SOCKET s,INT8U byte);
void UDPFlush(UDP_SOCKET 	s, 
              IP_ADDR		remoteAddr,
              INT16U 		remotePort);
void UDPClear(UDP_SOCKET s);

⌨️ 快捷键说明

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