Webserver+3d print

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

mdns_responder.h File Reference

mdns_responder.h File Reference

mDNS responder (Multicast DNS) More...

Go to the source code of this file.

Data Structures

struct  MdnsResponderSettings
 mDNS responder settings More...
struct  _MdnsResponderContext
 mDNS responder context More...

Typedefs

typedef void(* MdnsResponderStateChangeCallback )(MdnsResponderContext *context, NetInterface *interface, MdnsState state)
 FSM state change callback.

Enumerations

enum  MdnsState
 

mDNS responder states

More...

Functions

void mdnsResponderGetDefaultSettings (MdnsResponderSettings *settings)
 Initialize settings with default values.
error_t mdnsResponderInit (MdnsResponderContext *context, const MdnsResponderSettings *settings)
 mDNS responder initialization
error_t mdnsResponderStart (MdnsResponderContext *context)
 Start mDNS responder.
error_t mdnsResponderStop (MdnsResponderContext *context)
 Stop mDNS responder.
MdnsState mdnsResponderGetState (MdnsResponderContext *context)
 Retrieve current state.
error_t mdnsResponderSetHostname (MdnsResponderContext *context, const char_t *hostname)
 Set hostname.
error_t mdnsResponderSetIpv4ReverseName (MdnsResponderContext *context)
 Generate domain name for reverse DNS lookup (IPv4)
error_t mdnsResponderSetIpv6ReverseName (MdnsResponderContext *context)
 Generate domain name for reverse DNS lookup (IPv6)
error_t mdnsResponderStartProbing (MdnsResponderContext *context)
 Restart probing process.
void mdnsResponderTick (MdnsResponderContext *context)
 mDNS responder timer handler
void mdnsResponderLinkChangeEvent (MdnsResponderContext *context)
 Callback function for link change event.
void mdnsResponderChangeState (MdnsResponderContext *context, MdnsState newState, systime_t delay)
 Update FSM state.
void mdnsResponderChangeHostname (MdnsResponderContext *context)
 Programmatically change the host name.
error_t mdnsResponderSendProbe (MdnsResponderContext *context)
 Send probe packet.
error_t mdnsResponderSendAnnouncement (MdnsResponderContext *context)
 Send announcement packet.
error_t mdnsResponderSendGoodbye (MdnsResponderContext *context)
 Send goodbye packet.
void mdnsResponderProcessQuery (NetInterface *interface, MdnsMessage *query)
 Process mDNS query message.
error_t mdnsResponderParseQuestion (NetInterface *interface, const MdnsMessage *query, size_t offset, const DnsQuestion *question, MdnsMessage *response)
 Parse a question.
void mdnsResponderParseKnownAnRecord (NetInterface *interface, const MdnsMessage *query, size_t queryOffset, const DnsResourceRecord *queryRecord, MdnsMessage *response)
 Parse a resource record from the Known-Answer Section.
void mdnsResponderParseNsRecord (NetInterface *interface, const MdnsMessage *query, size_t offset, const DnsResourceRecord *record)
 Parse a resource record from the Authority Section.
void mdnsResponderParseAnRecord (NetInterface *interface, const MdnsMessage *response, size_t offset, const DnsResourceRecord *record)
 Parse a resource record from the Answer Section.
void mdnsResponderGenerateAdditionalRecords (NetInterface *interface, MdnsMessage *response, bool_t legacyUnicast)
 Additional record generation.
error_t mdnsResponderAddIpv4AddrRecord (NetInterface *interface, MdnsMessage *message, bool_t cacheFlush, uint32_t ttl)
 Add A record to a mDNS message.
error_t mdnsResponderAddIpv6AddrRecord (NetInterface *interface, MdnsMessage *message, bool_t cacheFlush, uint32_t ttl)
 Add AAAA record to a mDNS message.
error_t mdnsResponderAddIpv4ReversePtrRecord (NetInterface *interface, MdnsMessage *message, bool_t cacheFlush, uint32_t ttl)
 Add reverse address mapping PTR record (IPv4)
error_t mdnsResponderAddIpv6ReversePtrRecord (NetInterface *interface, MdnsMessage *message, bool_t cacheFlush, uint32_t ttl)
 Add reverse address mapping PTR record (IPv6)
error_t mdnsResponderAddNsecRecord (NetInterface *interface, MdnsMessage *message, bool_t cacheFlush, uint32_t ttl)
 Add NSEC record to a mDNS message.

Detailed Description

mDNS responder (Multicast DNS)

License

Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file mdns_responder.h.


Typedef Documentation

typedef void(* MdnsResponderStateChangeCallback)(MdnsResponderContext *context, NetInterface *interface, MdnsState state)

FSM state change callback.

Definition at line 138 of file mdns_responder.h.


Enumeration Type Documentation

enum MdnsState

mDNS responder states

Definition at line 124 of file mdns_responder.h.


Function Documentation

error_t mdnsResponderAddIpv4AddrRecord ( NetInterface *  interface,
MdnsMessage message,
bool_t  cacheFlush,
uint32_t  ttl 
)

Add A record to a mDNS message.

Parameters:
[in]interfaceUnderlying network interface
[in,out]messagePointer to the mDNS message
[in]cacheFlushCache-flush bit
[in]ttlResource record TTL (cache lifetime)
Returns:
Error code

Definition at line 1884 of file mdns_responder.c.

error_t mdnsResponderAddIpv4ReversePtrRecord ( NetInterface *  interface,
MdnsMessage message,
bool_t  cacheFlush,
uint32_t  ttl 
)

Add reverse address mapping PTR record (IPv4)

Parameters:
[in]interfaceUnderlying network interface
[in,out]messagePointer to the mDNS message
[in]cacheFlushCache-flush bit
[in]ttlResource record TTL (cache lifetime)
Returns:
Error code

Definition at line 2052 of file mdns_responder.c.

error_t mdnsResponderAddIpv6AddrRecord ( NetInterface *  interface,
MdnsMessage message,
bool_t  cacheFlush,
uint32_t  ttl 
)

Add AAAA record to a mDNS message.

Parameters:
[in]interfaceUnderlying network interface
[in,out]messagePointer to the mDNS message
[in]cacheFlushCache-flush bit
[in]ttlResource record TTL (cache lifetime)
Returns:
Error code

Definition at line 1968 of file mdns_responder.c.

error_t mdnsResponderAddIpv6ReversePtrRecord ( NetInterface *  interface,
MdnsMessage message,
bool_t  cacheFlush,
uint32_t  ttl 
)

Add reverse address mapping PTR record (IPv6)

Parameters:
[in]interfaceUnderlying network interface
[in,out]messagePointer to the mDNS message
[in]cacheFlushCache-flush bit
[in]ttlResource record TTL (cache lifetime)
Returns:
Error code

Definition at line 2148 of file mdns_responder.c.

error_t mdnsResponderAddNsecRecord ( NetInterface *  interface,
MdnsMessage message,
bool_t  cacheFlush,
uint32_t  ttl 
)

Add NSEC record to a mDNS message.

Parameters:
[in]interfaceUnderlying network interface
[in,out]messagePointer to the mDNS message
[in]cacheFlushCache-flush bit
[in]ttlResource record TTL (cache lifetime)
Returns:
Error code

Definition at line 2244 of file mdns_responder.c.

void mdnsResponderChangeHostname ( MdnsResponderContext *  context )

Programmatically change the host name.

Parameters:
[in]contextPointer to the mDNS responder context

Definition at line 713 of file mdns_responder.c.

void mdnsResponderChangeState ( MdnsResponderContext *  context,
MdnsState  newState,
systime_t  delay 
)

Update FSM state.

Parameters:
[in]contextPointer to the mDNS responder context
[in]newStateNew state to switch to
[in]delayInitial delay

Definition at line 678 of file mdns_responder.c.

void mdnsResponderGenerateAdditionalRecords ( NetInterface *  interface,
MdnsMessage response,
bool_t  legacyUnicast 
)

Additional record generation.

Parameters:
[in]interfaceUnderlying network interface
[in,out]responsemDNS response message
[in]legacyUnicastThis flag is set for legacy unicast responses

Definition at line 1713 of file mdns_responder.c.

void mdnsResponderGetDefaultSettings ( MdnsResponderSettings settings )

Initialize settings with default values.

Parameters:
[out]settingsStructure that contains mDNS responder settings

Definition at line 55 of file mdns_responder.c.

MdnsState mdnsResponderGetState ( MdnsResponderContext *  context )

Retrieve current state.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Current mDNS responder state

Definition at line 181 of file mdns_responder.c.

error_t mdnsResponderInit ( MdnsResponderContext *  context,
const MdnsResponderSettings settings 
)

mDNS responder initialization

Parameters:
[in]contextPointer to the mDNS responder context
[in]settingsmDNS responder specific settings
Returns:
Error code

Definition at line 76 of file mdns_responder.c.

void mdnsResponderLinkChangeEvent ( MdnsResponderContext *  context )

Callback function for link change event.

Parameters:
[in]contextPointer to the mDNS responder context

Definition at line 649 of file mdns_responder.c.

void mdnsResponderParseAnRecord ( NetInterface *  interface,
const MdnsMessage response,
size_t  offset,
const DnsResourceRecord *  record 
)

Parse a resource record from the Answer Section.

Parameters:
[in]interfaceUnderlying network interface
[in]responseIncoming mDNS response message
[in]offsetOffset to first byte of the resource record to be checked
[in]recordPointer to the resource record

Definition at line 1615 of file mdns_responder.c.

void mdnsResponderParseKnownAnRecord ( NetInterface *  interface,
const MdnsMessage query,
size_t  queryOffset,
const DnsResourceRecord *  queryRecord,
MdnsMessage response 
)

Parse a resource record from the Known-Answer Section.

Parameters:
[in]interfaceUnderlying network interface
[in]queryIncoming mDNS query message
[in]queryOffsetOffset to first byte of the resource record
[in]queryRecordPointer to the resource record
[in,out]responsemDNS response message

Definition at line 1428 of file mdns_responder.c.

void mdnsResponderParseNsRecord ( NetInterface *  interface,
const MdnsMessage query,
size_t  offset,
const DnsResourceRecord *  record 
)

Parse a resource record from the Authority Section.

Parameters:
[in]interfaceUnderlying network interface
[in]queryIncoming mDNS query message
[in]offsetOffset to first byte of the resource record
[in]recordPointer to the resource record

Definition at line 1511 of file mdns_responder.c.

error_t mdnsResponderParseQuestion ( NetInterface *  interface,
const MdnsMessage query,
size_t  offset,
const DnsQuestion *  question,
MdnsMessage response 
)

Parse a question.

Parameters:
[in]interfaceUnderlying network interface
[in]queryIncoming mDNS query message
[in]offsetOffset to first byte of the question
[in]questionPointer to the question
[in,out]responsemDNS response message
Returns:
Error code

Definition at line 1261 of file mdns_responder.c.

void mdnsResponderProcessQuery ( NetInterface *  interface,
MdnsMessage query 
)

Process mDNS query message.

Parameters:
[in]interfaceUnderlying network interface
[in]queryIncoming mDNS query message

Definition at line 976 of file mdns_responder.c.

error_t mdnsResponderSendAnnouncement ( MdnsResponderContext *  context )

Send announcement packet.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 848 of file mdns_responder.c.

error_t mdnsResponderSendGoodbye ( MdnsResponderContext *  context )

Send goodbye packet.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 914 of file mdns_responder.c.

error_t mdnsResponderSendProbe ( MdnsResponderContext *  context )

Send probe packet.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 773 of file mdns_responder.c.

error_t mdnsResponderSetHostname ( MdnsResponderContext *  context,
const char_t *  hostname 
)

Set hostname.

Parameters:
[in]contextPointer to the mDNS responder context
[in]hostnameNULL-terminated string that contains the hostname
Returns:
Error code

Definition at line 204 of file mdns_responder.c.

error_t mdnsResponderSetIpv4ReverseName ( MdnsResponderContext *  context )

Generate domain name for reverse DNS lookup (IPv4)

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 256 of file mdns_responder.c.

error_t mdnsResponderSetIpv6ReverseName ( MdnsResponderContext *  context )

Generate domain name for reverse DNS lookup (IPv6)

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 297 of file mdns_responder.c.

error_t mdnsResponderStart ( MdnsResponderContext *  context )

Start mDNS responder.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 119 of file mdns_responder.c.

error_t mdnsResponderStartProbing ( MdnsResponderContext *  context )

Restart probing process.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 356 of file mdns_responder.c.

error_t mdnsResponderStop ( MdnsResponderContext *  context )

Stop mDNS responder.

Parameters:
[in]contextPointer to the mDNS responder context
Returns:
Error code

Definition at line 150 of file mdns_responder.c.

void mdnsResponderTick ( MdnsResponderContext *  context )

mDNS responder timer handler

This routine must be periodically called by the TCP/IP stack to manage mDNS operation

Parameters:
[in]contextPointer to the mDNS responder context

Definition at line 383 of file mdns_responder.c.