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

📄 dns_client.h

📁 uCOS-II下实现的lwip协议栈实现Ping功能
💻 H
字号:
//*------------------------------------------------------------------------------------------------
//* 文件名				: dns_clinet.c
//* 功能描述			: dns客户端头文件
//* 作者    			: 焦海波
//* 版本				: 0.1
//* 建立日期、时间		: 2006/08/10 15:27
//* 最近修改日期、时间	: 
//* 修改原因			: 
//*------------------------------------------------------------------------------------------------

#ifndef	__dns_client_h__
#define	__dns_client_h__

//*---------------------------------------- 结构体及宏定义 -----------------------------------------
#define	DNS_PORT					53				//* 指定要连接的端口号
#define	DNS_PACKET_QUERY_TYPE		0x01			//* 指定的查询类型为IP地址查询
#define	DNS_PACKET_QUERY_CLASS		0x01			//* 指定的查询类为互联网地址

#define	DNS1_IP_ADDR		0xCA668044				//* 主DNS服务器地址(0xC0A80A47)
#define	DNS2_IP_ADDR		0xD24DC058				//* 备用DNS服务器地址

#define	DNS_OK				0						//* 查询成功
#define DNS_NOT_EXIST		1						//* 指定的域名不存在
#define DNS_NOT_CONN		2						//* 无法连接指定的域名服务器(主、备服务器均不可用)
#define DNS_OTHER			3						//* 未知错误

typedef struct {
	ULONG bitID			:16;
	ULONG bitIsRD		:1;        				//* 是否期望递归查询,查询时为1,否则,在DNS服务器无法找到相
	                          		 			//* 关域名记录时客户端只能得到一个存在该记录的域名服务器地址
	
	ULONG bitIsTC		:1;						//* 是否允许截断		
	ULONG bitOpcode		:4;						//* 0,标识标准查询;1是反向查询;2为服务器状态请求		
	ULONG bitIsAA		:1;						//* 是否为授权回答                               		 		
	ULONG bitCmd		:1;        				//* 0是查询,1是响应
	                               		
	ULONG bitOptResult	:4;        				//* 指定查询的域名服务器返回的操作结果
	ULONG bitRsrved     :3;        				//* 保留字段,必须为0
	ULONG bitIsRA       :1;        				//* 指定域名服务器支持递归查询
} BST_ID_AND_FLAGS;

PACK_STRUCT_BEGIN
typedef struct {
	ULONG ulIDAndFlags;							//* 标识和标志
	UWORD uwQCount;								//* 问题数 
	UWORD uwACount;								//* 回答数
	UWORD uwAuthCount;							//* 授权资源数量
	UWORD uwARC;								//* 额外资源记录数
} ST_DNS_PACKET_HDR;
PACK_STRUCT_END

#define DNS_PACKET_HDR_LEN	12					//* DNS包头部长度

//* UDP接收函数入口参数
typedef struct {
	ULONG ulRtnCode;
	ULONG *pulIP;
	LONG lDNLen;
} ST_RECV_FUN_ARG;

//*-------------------------------------- 函数原型声明 ---------------------------------------------
extern ULONG ulDNToIP(BYTE *pszDN, LONG lDNLen, ULONG *pulIP);
#endif

⌨️ 快捷键说明

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