sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
mdns.h
Go to the documentation of this file.
1
5
6
/*
7
* Copyright (c) 2015 Verisure Innovation AB
8
* All rights reserved.
9
*
10
* Redistribution and use in source and binary forms, with or without modification,
11
* are permitted provided that the following conditions are met:
12
*
13
* 1. Redistributions of source code must retain the above copyright notice,
14
* this list of conditions and the following disclaimer.
15
* 2. Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
* 3. The name of the author may not be used to endorse or promote products
19
* derived from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30
* OF SUCH DAMAGE.
31
*
32
* This file is part of the lwIP TCP/IP stack.
33
*
34
* Author: Erik Ekman <erik@kryo.se>
35
* Author: Jasper Verschueren <jasper.verschueren@apart-audio.com>
36
*
37
*/
38
39
#ifndef LWIP_HDR_APPS_MDNS_H
40
#define LWIP_HDR_APPS_MDNS_H
41
42
#include "
lwip/apps/mdns_opts.h
"
43
#include "
lwip/netif.h
"
44
45
#ifdef __cplusplus
46
extern
"C"
{
47
#endif
48
49
#if LWIP_MDNS_RESPONDER
50
51
enum
mdns_sd_proto {
52
DNSSD_PROTO_UDP = 0,
53
DNSSD_PROTO_TCP = 1
54
};
55
56
#define MDNS_PROBING_CONFLICT 0
57
#define MDNS_PROBING_SUCCESSFUL 1
58
59
#define MDNS_LABEL_MAXLEN 63
60
#define MDNS_DOMAIN_MAXLEN 256
61
62
struct
mdns_host;
63
struct
mdns_service;
64
65
/* Domain structs */
66
struct
mdns_domain {
67
/* Encoded domain name */
68
u8_t name[MDNS_DOMAIN_MAXLEN];
69
/* Total length of domain name, including zero */
70
u16_t length;
71
/* Set if compression of this domain is not allowed */
72
u8_t skip_compression;
73
};
74
77
struct
mdns_rr_info {
78
struct
mdns_domain domain;
79
u16_t type;
80
u16_t klass;
81
};
82
83
struct
mdns_answer {
84
struct
mdns_rr_info info;
86
u16_t cache_flush;
87
/* Validity time in seconds */
88
u32_t ttl;
90
u16_t rd_length;
92
u16_t rd_offset;
93
};
94
96
typedef
void (*service_get_txt_fn_t)(
struct
mdns_service *service,
void
*txt_userdata);
97
102
typedef
void (*mdns_name_result_cb_t)(
struct
netif
*
netif
, u8_t result, s8_t slot);
103
104
void
*mdns_get_service_txt_userdata(
struct
netif
*
netif
, s8_t slot);
105
106
void
mdns_resp_init(
void
);
107
108
void
mdns_resp_register_name_result_cb(mdns_name_result_cb_t cb);
109
110
err_t mdns_resp_add_netif(
struct
netif
*
netif
,
const
char
*hostname);
111
err_t mdns_resp_remove_netif(
struct
netif
*
netif
);
112
err_t mdns_resp_rename_netif(
struct
netif
*
netif
,
const
char
*hostname);
113
int
mdns_resp_netif_active(
struct
netif
*
netif
);
114
115
s8_t mdns_resp_add_service(
struct
netif
*
netif
,
const
char
*name,
const
char
*service,
enum
mdns_sd_proto proto, u16_t port, service_get_txt_fn_t txt_fn,
void
*txt_userdata);
116
err_t mdns_resp_del_service(
struct
netif
*
netif
, u8_t slot);
117
err_t mdns_resp_rename_service(
struct
netif
*
netif
, u8_t slot,
const
char
*name);
118
119
err_t mdns_resp_add_service_txtitem(
struct
mdns_service *service,
const
char
*txt, u8_t txt_len);
120
121
void
mdns_resp_restart_delay(
struct
netif
*
netif
, uint32_t delay);
122
void
mdns_resp_restart(
struct
netif
*
netif
);
123
void
mdns_resp_announce(
struct
netif
*
netif
);
124
133
#define mdns_resp_netif_settings_changed(netif) mdns_resp_announce(netif)
134
135
#if LWIP_MDNS_SEARCH
136
typedef
void (*search_result_fn_t)(
struct
mdns_answer *answer,
const
char
*varpart,
int
varlen,
int
flags,
void
*arg);
137
/* flags bits, both can be set! */
138
#define MDNS_SEARCH_RESULT_FIRST 1
/* First answer in received frame. */
139
#define MDNS_SEARCH_RESULT_LAST 2
/* Last answer. */
140
141
err_t mdns_search_service(
const
char
*name,
const
char
*service,
enum
mdns_sd_proto proto,
142
struct
netif
*
netif
, search_result_fn_t result_fn,
void
*arg,
143
u8_t *request_id);
144
void
mdns_search_stop(u8_t request_id);
145
146
#endif
/* LWIP_MDNS_SEARCH */
147
148
#endif
/* LWIP_MDNS_RESPONDER */
149
150
#ifdef __cplusplus
151
}
152
#endif
153
154
#endif
/* LWIP_HDR_APPS_MDNS_H */
mdns_opts.h
netif.h
netif
Definition
tcpip.h:1271
core
ps2ip
include
lwip_include
lwip
apps
mdns.h
Generated by
1.18.0