Files
Shinebridge/Growatt ShineLAN-X/firmware/lib/EthernetENC/src/Dns.h
T
retr0 852ec90e6b ShineLAN-X: Initiale Firmware + Hardware-Diagnose
- STM32F103RBT6 Firmware für Growatt ShineLAN-X
- Bitbang-SPI (EthernetENC) auf Port C (PC6/PC7/PC8/PC9)
- UART-Debug auf USART1 (PA9/PA10), Modbus temporär deaktiviert
- SO-Aktivitätstest und ESTAT-Register-Scan bestätigen:
  ENC28J60 läuft (SO aktiv), SI/MOSI-Verbindung unterbrochen
- Nächster Schritt: Pin 5 ENC28J60 nachlöten oder Bodge-Draht

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 19:10:31 +02:00

42 lines
1.3 KiB
C++

// Arduino DNS client for Enc28J60-based Ethernet shield
// (c) Copyright 2009-2010 MCQN Ltd.
// Released under Apache License, version 2.0
#ifndef DNSClient_h
#define DNSClient_h
#include "EthernetUdp.h"
class DNSClient
{
public:
// ctor
void begin(const IPAddress& aDNSServer);
/** Convert a numeric IP address string into a four-byte IP address.
@param aIPAddrString IP address to convert
@param aResult IPAddress structure to store the returned IP address
@result 1 if aIPAddrString was successfully converted to an IP address,
else error code
*/
int inet_aton(const char *aIPAddrString, IPAddress& aResult);
/** Resolve the given hostname to an IP address.
@param aHostname Name to be resolved
@param aResult IPAddress structure to store the returned IP address
@result 1 if aIPAddrString was successfully converted to an IP address,
else error code
*/
int getHostByName(const char* aHostname, IPAddress& aResult);
protected:
uint16_t BuildRequest(const char* aName);
uint16_t ProcessResponse(uint16_t aTimeout, IPAddress& aAddress);
IPAddress iDNSServer;
uint16_t iRequestId;
EthernetUDP iUdp;
};
#endif