1、问题点:当RCU网络状态异常的情况下,网络还处于协商状态下,还未进入正常通讯环节时,取电变化不会进行判断。这会导致取电变化上报与实际产生取电状态时间点对不上。 2、将BLV_C1F_Module代码上传至Gitea,之前代码修改记录请查看 .\BasicCode\Readme.txt
99 lines
3.0 KiB
C
99 lines
3.0 KiB
C
#ifndef _DNS_H_
|
|
#define _DNS_H_
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include "CH57x_common.h"
|
|
#include "net.h"
|
|
|
|
#define MAX_URL_SIZE 128
|
|
#define MAX_DNS_BUF_SIZE 256 /*DNS缓冲区最大长度 */
|
|
#define CH563NET_DBG 1 /* printf调试使能 */
|
|
|
|
#define SERVER_NAME_DNS "www.boonlive-rcu.com"
|
|
#define TFTPSERVER_NAME_DNS "blv-tftp-log.blv-oa.com" //"BoonliveNAS.synology.me"
|
|
#define UDPSERVER_NAME_DNS "rcu-udp-svr.blv-oa.com"
|
|
|
|
/*
|
|
********************************************************************************
|
|
Define Part
|
|
********************************************************************************
|
|
*/
|
|
|
|
#define TYPE_A 1 /* Host address */
|
|
#define TYPE_NS 2 /* Name server */
|
|
#define TYPE_MD 3 /* Mail destination (obsolete) */
|
|
#define TYPE_MF 4 /* Mail forwarder (obsolete) */
|
|
#define TYPE_CNAME 5 /* Canonical name */
|
|
#define TYPE_SOA 6 /* Start of Authority */
|
|
#define TYPE_MB 7 /* Mailbox name (experimental) */
|
|
#define TYPE_MG 8 /* Mail group member (experimental) */
|
|
#define TYPE_MR 9 /* Mail rename name (experimental) */
|
|
#define TYPE_NULL 10 /* Null (experimental) */
|
|
#define TYPE_WKS 11 /* Well-known sockets */
|
|
#define TYPE_PTR 12 /* Pointer record */
|
|
#define TYPE_HINFO 13 /* Host information */
|
|
#define TYPE_MINFO 14 /* Mailbox information (experimental)*/
|
|
#define TYPE_MX 15 /* Mail exchanger */
|
|
#define TYPE_TXT 16 /* Text strings */
|
|
#define TYPE_ANY 255 /* Matches any type */
|
|
|
|
#define CLASS_IN 1 /* The ARPA Internet */
|
|
|
|
typedef enum
|
|
{
|
|
DNS_INIT,
|
|
DNS_INIT1,
|
|
DNS_DATA_SEND,
|
|
DNS_WAIT_RECV,
|
|
DNS_ANALYSIS,
|
|
DNS_ClOSE,
|
|
}DNS_STA;
|
|
|
|
struct dhdr
|
|
{
|
|
UINT16 id; /* 标识 */
|
|
UINT8 qr; /* 查询或应答标志*/
|
|
UINT8 opcode;
|
|
UINT8 aa; /* 授权回答 */
|
|
UINT8 tc; /* 可截断的 */
|
|
UINT8 rd; /* 期望递归*/
|
|
UINT8 ra; /* 可以递归 */
|
|
UINT8 rcode; /* 应答码 */
|
|
UINT16 qdcount; /* 问题数 */
|
|
UINT16 ancount; /* 应答数 */
|
|
UINT16 nscount; /* 授权数 */
|
|
UINT16 arcount; /* 额外记录数 */
|
|
};
|
|
|
|
//extern UINT8 dns_buf[MAX_DNS_BUF_SIZE];
|
|
extern UINT8* dns_buf;
|
|
extern UINT8 DNS_SERVER_IP[4];
|
|
|
|
UINT16 get16(UINT8 * s);
|
|
|
|
int ParseName(UINT8 * msg, UINT8 * compressed, char * buf);
|
|
|
|
UINT8 * DnsQuestion(UINT8 * msg, UINT8 * cp);
|
|
|
|
UINT8 * DnsAnswer(UINT8 * msg, UINT8 * cp, UINT8 * pSip);
|
|
|
|
UINT8 parseMSG(struct dhdr * pdhdr, UINT8 * pbuf, UINT8 * pSip);
|
|
|
|
UINT8 * put16(UINT8 * s, UINT16 i);
|
|
|
|
UINT16 MakeDnsQueryMsg(UINT16 op, char * name, UINT8 * buf, UINT16 len);
|
|
|
|
//UINT8 DnsQuery(UINT8 s, UINT8 * name, UINT8 * pSip);
|
|
|
|
//UINT8 DnsQuery(UINT8 s, UINT8 * name, UINT8 * pSip);
|
|
|
|
UINT8 DnsQuery2(UINT8* s, UINT8 * name, UINT8 * pSip);
|
|
|
|
void UDPSocketParamInit(UINT8 sockindex,UINT8 *addr,UINT16 SourPort,UINT16 DesPort);
|
|
|
|
UINT8 DnsQuery_Task(UINT8* s, UINT8 * name, UINT8 * pSip);
|
|
|
|
#endif
|