diff --git a/asio/.buildinfo b/asio/.buildinfo index 674b4e9e5..c7552479b 100644 --- a/asio/.buildinfo +++ b/asio/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: bdb9c4058bb57ea76ea7b85c00a2c40f +config: 2bccfe8e104e823c5c6f1fd9ba510b65 tags: 549b3d6d0415232fb7e35403b330ff49 diff --git a/asio/_static/doctools.js b/asio/_static/doctools.js index c3db08d1c..527b876ca 100644 --- a/asio/_static/doctools.js +++ b/asio/_static/doctools.js @@ -10,6 +10,13 @@ */ "use strict"; +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + const _ready = (callback) => { if (document.readyState !== "loading") { callback(); @@ -18,73 +25,11 @@ const _ready = (callback) => { } }; -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - /** * Small JavaScript module for the documentation. */ const Documentation = { init: () => { - Documentation.highlightSearchWords(); Documentation.initDomainIndexTable(); Documentation.initOnKeyListeners(); }, @@ -126,51 +71,6 @@ const Documentation = { Documentation.LOCALE = catalog.locale; }, - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords: () => { - const highlight = - new URLSearchParams(window.location.search).get("highlight") || ""; - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - const url = new URL(window.location); - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - }, - /** * helper function to focus on search bar */ @@ -210,15 +110,11 @@ const Documentation = { ) return; - const blacklistedElements = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", - ]); document.addEventListener("keydown", (event) => { - if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements - if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; if (!event.shiftKey) { switch (event.key) { @@ -240,10 +136,6 @@ const Documentation = { event.preventDefault(); } break; - case "Escape": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.hideSearchWords(); - event.preventDefault(); } } diff --git a/asio/_static/pygments.css b/asio/_static/pygments.css index 20c4814dc..691aeb82d 100644 --- a/asio/_static/pygments.css +++ b/asio/_static/pygments.css @@ -1,5 +1,10 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } -.highlight { background: #eeffcc; } +.highlight { background: #eeffcc; } .highlight .c { color: #408090; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #007020; font-weight: bold } /* Keyword */ diff --git a/asio/_static/searchtools.js b/asio/_static/searchtools.js index f2fb7d5cf..e89e34d4e 100644 --- a/asio/_static/searchtools.js +++ b/asio/_static/searchtools.js @@ -57,14 +57,14 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, highlightTerms, searchTerms) => { +const _displayItem = (item, searchTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const [docName, title, anchor, descr] = item; + const [docName, title, anchor, descr, score, _filename] = item; let listItem = document.createElement("li"); let requestUrl; @@ -82,10 +82,9 @@ const _displayItem = (item, highlightTerms, searchTerms) => { requestUrl = docUrlRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } - const params = new URLSearchParams(); - params.set("highlight", [...highlightTerms].join(" ")); let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + "?" + params.toString() + anchor; + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; linkEl.innerHTML = title; if (descr) listItem.appendChild(document.createElement("span")).innerHTML = @@ -96,7 +95,7 @@ const _displayItem = (item, highlightTerms, searchTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, highlightTerms) + Search.makeSearchSummary(data, searchTerms) ); }); Search.output.appendChild(listItem); @@ -116,15 +115,14 @@ const _finishSearch = (resultCount) => { const _displayNextItem = ( results, resultCount, - highlightTerms, searchTerms ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), highlightTerms, searchTerms); + _displayItem(results.pop(), searchTerms); setTimeout( - () => _displayNextItem(results, resultCount, highlightTerms, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms), 5 ); } @@ -237,6 +235,12 @@ const Search = { * execute search (requires search index to be loaded) */ query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -264,6 +268,10 @@ const Search = { } }); + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + // console.debug("SEARCH: searching for:"); // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); @@ -272,6 +280,40 @@ const Search = { let results = []; _removeChildren(document.getElementById("search-progress")); + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + // lookup as object objectTerms.forEach((term) => results.push(...Search.performObjectSearch(term, objectTerms)) @@ -318,7 +360,7 @@ const Search = { // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, highlightTerms, searchTerms); + _displayNextItem(results, results.length, searchTerms); }, /** @@ -399,8 +441,8 @@ const Search = { // prepare search const terms = Search._index.terms; const titleTerms = Search._index.titleterms; - const docNames = Search._index.docnames; const filenames = Search._index.filenames; + const docNames = Search._index.docnames; const titles = Search._index.titles; const scoreMap = new Map(); @@ -497,11 +539,9 @@ const Search = { /** * helper function to return a node containing the * search summary for a given text. keywords is a list - * of stemmed words, highlightWords is the list of normal, unstemmed - * words. the first one is used to find the occurrence, the - * latter for highlighting it. + * of stemmed words. */ - makeSearchSummary: (htmlText, keywords, highlightWords) => { + makeSearchSummary: (htmlText, keywords) => { const text = Search.htmlToText(htmlText); if (text === "") return null; @@ -519,10 +559,6 @@ const Search = { summary.classList.add("context"); summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - highlightWords.forEach((highlightWord) => - _highlightText(summary, highlightWord, "highlighted") - ); - return summary; }, }; diff --git a/asio/_static/sphinx_highlight.js b/asio/_static/sphinx_highlight.js new file mode 100644 index 000000000..aae669d7e --- /dev/null +++ b/asio/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/asio/genindex.html b/asio/genindex.html index 307bf9f96..0d83d8392 100644 --- a/asio/genindex.html +++ b/asio/genindex.html @@ -17,6 +17,7 @@ + @@ -90,7 +91,7 @@
  • »
  • Index
  • - Edit on GitHub + Edit on GitHub

  • diff --git a/asio/index.html b/asio/index.html index 8211726b9..128c37b0f 100644 --- a/asio/index.html +++ b/asio/index.html @@ -18,6 +18,7 @@ + @@ -102,7 +103,7 @@
  • »
  • ASIO port
  • - Edit on GitHub + Edit on GitHub

  • @@ -143,12 +144,12 @@ SSL/TLS support is disabled by default and could be enabled in component configu

    Application Example

    -

    ESP examples are based on standard asio examples :

    +

    ESP examples are based on standard asio examples :

    Please refer to the specific example README.md for details

    diff --git a/asio/search.html b/asio/search.html index 114a5b6e1..bd527eb14 100644 --- a/asio/search.html +++ b/asio/search.html @@ -18,6 +18,7 @@ + diff --git a/asio/searchindex.js b/asio/searchindex.js index abee8b63b..5ff6a8c6e 100644 --- a/asio/searchindex.js +++ b/asio/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["ASIO port"], "terms": {"i": 0, "cross": 0, "platform": 0, "c": 0, "librari": 0, "see": 0, "http": 0, "think": 0, "async": 0, "com": 0, "It": 0, "provid": 0, "consist": 0, "asynchron": 0, "model": 0, "us": 0, "modern": 0, "approach": 0, "pleas": 0, "refer": 0, "origin": 0, "also": 0, "come": 0, "number": 0, "which": 0, "could": 0, "find": 0, "under": 0, "web": 0, "site": 0, "esp": 0, "current": 0, "onli": 0, "network": 0, "socket": 0, "oper": 0, "doe": 0, "serial": 0, "ssl": 0, "tl": 0, "disabl": 0, "default": 0, "enabl": 0, "compon": 0, "configur": 0, "menu": 0, "choos": 0, "from": 0, "mbedtl": 0, "openssl": 0, "translat": 0, "layer": 0, "option": 0, "wolfssl": 0, "veri": 0, "basic": 0, "thi": 0, "stage": 0, "includ": 0, "follow": 0, "verif": 0, "callback": 0, "dh": 0, "properti": 0, "file": 0, "certif": 0, "privat": 0, "kei": 0, "api": 0, "intern": 0, "set": 0, "except": 0, "ar": 0, "menuconfig": 0, "typeid": 0, "base": 0, "standard": 0, "udp_echo_serv": 0, "tcp_echo_serv": 0, "asio_chat": 0, "ssl_client_serv": 0, "specif": 0, "readm": 0, "md": 0, "detail": 0}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"asio": 0, "port": 0, "overview": 0, "document": 0, "support": 0, "featur": 0, "applic": 0, "exampl": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["ASIO port"], "terms": {"i": 0, "cross": 0, "platform": 0, "c": 0, "librari": 0, "see": 0, "http": 0, "think": 0, "async": 0, "com": 0, "It": 0, "provid": 0, "consist": 0, "asynchron": 0, "model": 0, "us": 0, "modern": 0, "approach": 0, "pleas": 0, "refer": 0, "origin": 0, "also": 0, "come": 0, "number": 0, "which": 0, "could": 0, "find": 0, "under": 0, "web": 0, "site": 0, "esp": 0, "current": 0, "onli": 0, "network": 0, "socket": 0, "oper": 0, "doe": 0, "serial": 0, "ssl": 0, "tl": 0, "disabl": 0, "default": 0, "enabl": 0, "compon": 0, "configur": 0, "menu": 0, "choos": 0, "from": 0, "mbedtl": 0, "openssl": 0, "translat": 0, "layer": 0, "option": 0, "wolfssl": 0, "veri": 0, "basic": 0, "thi": 0, "stage": 0, "includ": 0, "follow": 0, "verif": 0, "callback": 0, "dh": 0, "properti": 0, "file": 0, "certif": 0, "privat": 0, "kei": 0, "api": 0, "intern": 0, "set": 0, "except": 0, "ar": 0, "menuconfig": 0, "typeid": 0, "base": 0, "standard": 0, "udp_echo_serv": 0, "tcp_echo_serv": 0, "asio_chat": 0, "ssl_client_serv": 0, "specif": 0, "readm": 0, "md": 0, "detail": 0}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"asio": 0, "port": 0, "overview": 0, "document": 0, "support": 0, "featur": 0, "applic": 0, "exampl": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"ASIO port": [[0, "asio-port"]], "Overview": [[0, "overview"]], "ASIO documentation": [[0, "asio-documentation"]], "Supported features": [[0, "supported-features"]], "Application Example": [[0, "application-example"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/esp_modem/.doctrees/advanced_api.doctree b/esp_modem/.doctrees/advanced_api.doctree index 211daa72b..a3871fb4b 100644 Binary files a/esp_modem/.doctrees/advanced_api.doctree and b/esp_modem/.doctrees/advanced_api.doctree differ diff --git a/esp_modem/.doctrees/api_docs.doctree b/esp_modem/.doctrees/api_docs.doctree index 7ac854cdd..28ea57cb5 100644 Binary files a/esp_modem/.doctrees/api_docs.doctree and b/esp_modem/.doctrees/api_docs.doctree differ diff --git a/esp_modem/.doctrees/cxx_api_docs.doctree b/esp_modem/.doctrees/cxx_api_docs.doctree index ddad0f366..47a3984f1 100644 Binary files a/esp_modem/.doctrees/cxx_api_docs.doctree and b/esp_modem/.doctrees/cxx_api_docs.doctree differ diff --git a/esp_modem/.doctrees/environment.pickle b/esp_modem/.doctrees/environment.pickle index eb4f50901..408dc94c5 100644 Binary files a/esp_modem/.doctrees/environment.pickle and b/esp_modem/.doctrees/environment.pickle differ diff --git a/esp_modem/.doctrees/internal_docs.doctree b/esp_modem/.doctrees/internal_docs.doctree index 27ba97125..8682935a9 100644 Binary files a/esp_modem/.doctrees/internal_docs.doctree and b/esp_modem/.doctrees/internal_docs.doctree differ diff --git a/esp_modem/README.html b/esp_modem/README.html index d403bb6f1..fa057e930 100644 --- a/esp_modem/README.html +++ b/esp_modem/README.html @@ -14,6 +14,7 @@ + @@ -201,7 +202,7 @@ as a class derived from Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/_static/doctools.js b/esp_modem/_static/doctools.js index c3db08d1c..527b876ca 100644 --- a/esp_modem/_static/doctools.js +++ b/esp_modem/_static/doctools.js @@ -10,6 +10,13 @@ */ "use strict"; +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + const _ready = (callback) => { if (document.readyState !== "loading") { callback(); @@ -18,73 +25,11 @@ const _ready = (callback) => { } }; -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - /** * Small JavaScript module for the documentation. */ const Documentation = { init: () => { - Documentation.highlightSearchWords(); Documentation.initDomainIndexTable(); Documentation.initOnKeyListeners(); }, @@ -126,51 +71,6 @@ const Documentation = { Documentation.LOCALE = catalog.locale; }, - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords: () => { - const highlight = - new URLSearchParams(window.location.search).get("highlight") || ""; - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - const url = new URL(window.location); - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - }, - /** * helper function to focus on search bar */ @@ -210,15 +110,11 @@ const Documentation = { ) return; - const blacklistedElements = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", - ]); document.addEventListener("keydown", (event) => { - if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements - if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; if (!event.shiftKey) { switch (event.key) { @@ -240,10 +136,6 @@ const Documentation = { event.preventDefault(); } break; - case "Escape": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.hideSearchWords(); - event.preventDefault(); } } diff --git a/esp_modem/_static/pygments.css b/esp_modem/_static/pygments.css index dd6621d88..9abe04ba5 100644 --- a/esp_modem/_static/pygments.css +++ b/esp_modem/_static/pygments.css @@ -1,5 +1,10 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } +.highlight { background: #f8f8f8; } .highlight .c { color: #8f5902; font-style: italic } /* Comment */ .highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ .highlight .g { color: #000000 } /* Generic */ @@ -49,6 +54,7 @@ .highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #000000 } /* Name.Variable */ .highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */ +.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ .highlight .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */ .highlight .mb { color: #990000 } /* Literal.Number.Bin */ .highlight .mf { color: #990000 } /* Literal.Number.Float */ diff --git a/esp_modem/_static/searchtools.js b/esp_modem/_static/searchtools.js index f2fb7d5cf..e89e34d4e 100644 --- a/esp_modem/_static/searchtools.js +++ b/esp_modem/_static/searchtools.js @@ -57,14 +57,14 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, highlightTerms, searchTerms) => { +const _displayItem = (item, searchTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const [docName, title, anchor, descr] = item; + const [docName, title, anchor, descr, score, _filename] = item; let listItem = document.createElement("li"); let requestUrl; @@ -82,10 +82,9 @@ const _displayItem = (item, highlightTerms, searchTerms) => { requestUrl = docUrlRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } - const params = new URLSearchParams(); - params.set("highlight", [...highlightTerms].join(" ")); let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + "?" + params.toString() + anchor; + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; linkEl.innerHTML = title; if (descr) listItem.appendChild(document.createElement("span")).innerHTML = @@ -96,7 +95,7 @@ const _displayItem = (item, highlightTerms, searchTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, highlightTerms) + Search.makeSearchSummary(data, searchTerms) ); }); Search.output.appendChild(listItem); @@ -116,15 +115,14 @@ const _finishSearch = (resultCount) => { const _displayNextItem = ( results, resultCount, - highlightTerms, searchTerms ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), highlightTerms, searchTerms); + _displayItem(results.pop(), searchTerms); setTimeout( - () => _displayNextItem(results, resultCount, highlightTerms, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms), 5 ); } @@ -237,6 +235,12 @@ const Search = { * execute search (requires search index to be loaded) */ query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -264,6 +268,10 @@ const Search = { } }); + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + // console.debug("SEARCH: searching for:"); // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); @@ -272,6 +280,40 @@ const Search = { let results = []; _removeChildren(document.getElementById("search-progress")); + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + // lookup as object objectTerms.forEach((term) => results.push(...Search.performObjectSearch(term, objectTerms)) @@ -318,7 +360,7 @@ const Search = { // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, highlightTerms, searchTerms); + _displayNextItem(results, results.length, searchTerms); }, /** @@ -399,8 +441,8 @@ const Search = { // prepare search const terms = Search._index.terms; const titleTerms = Search._index.titleterms; - const docNames = Search._index.docnames; const filenames = Search._index.filenames; + const docNames = Search._index.docnames; const titles = Search._index.titles; const scoreMap = new Map(); @@ -497,11 +539,9 @@ const Search = { /** * helper function to return a node containing the * search summary for a given text. keywords is a list - * of stemmed words, highlightWords is the list of normal, unstemmed - * words. the first one is used to find the occurrence, the - * latter for highlighting it. + * of stemmed words. */ - makeSearchSummary: (htmlText, keywords, highlightWords) => { + makeSearchSummary: (htmlText, keywords) => { const text = Search.htmlToText(htmlText); if (text === "") return null; @@ -519,10 +559,6 @@ const Search = { summary.classList.add("context"); summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - highlightWords.forEach((highlightWord) => - _highlightText(summary, highlightWord, "highlighted") - ); - return summary; }, }; diff --git a/esp_modem/_static/sphinx_highlight.js b/esp_modem/_static/sphinx_highlight.js new file mode 100644 index 000000000..aae669d7e --- /dev/null +++ b/esp_modem/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/esp_modem/advanced_api.html b/esp_modem/advanced_api.html index 18ad0450c..8ced4ad45 100644 --- a/esp_modem/advanced_api.html +++ b/esp_modem/advanced_api.html @@ -14,6 +14,7 @@ + @@ -288,7 +289,7 @@ a custom DTE object and supply it into Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/api_docs.html b/esp_modem/api_docs.html index bb19ccbd5..daee541e9 100644 --- a/esp_modem/api_docs.html +++ b/esp_modem/api_docs.html @@ -14,6 +14,7 @@ + @@ -1028,7 +1029,7 @@ pointer as the return value. The API expects the output data to point to user al ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/cxx_api_docs.html b/esp_modem/cxx_api_docs.html index 689ee9d38..948f10fc3 100644 --- a/esp_modem/cxx_api_docs.html +++ b/esp_modem/cxx_api_docs.html @@ -14,6 +14,7 @@ + @@ -287,7 +288,7 @@ It simply gets destroyed and cleaned-up automatically if the object goes out of ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/cxx_api_links.html b/esp_modem/cxx_api_links.html index 79e0e1259..085b127bb 100644 --- a/esp_modem/cxx_api_links.html +++ b/esp_modem/cxx_api_links.html @@ -14,6 +14,7 @@ + @@ -129,7 +130,7 @@ ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/genindex.html b/esp_modem/genindex.html index 6f515deb9..a6c9012e8 100644 --- a/esp_modem/genindex.html +++ b/esp_modem/genindex.html @@ -13,6 +13,7 @@ + @@ -607,7 +608,7 @@ ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 diff --git a/esp_modem/index.html b/esp_modem/index.html index 281c99bd2..149182b92 100644 --- a/esp_modem/index.html +++ b/esp_modem/index.html @@ -14,6 +14,7 @@ + @@ -160,7 +161,7 @@ ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/internal_design.html b/esp_modem/internal_design.html index 28a7c4c0f..87295eba2 100644 --- a/esp_modem/internal_design.html +++ b/esp_modem/internal_design.html @@ -14,6 +14,7 @@ + @@ -146,7 +147,7 @@ to multiplex the terminal.

    ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/internal_docs.html b/esp_modem/internal_docs.html index 96f5b670d..9012f0a42 100644 --- a/esp_modem/internal_docs.html +++ b/esp_modem/internal_docs.html @@ -14,6 +14,7 @@ + @@ -1401,7 +1402,7 @@ Please refer to the Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 | diff --git a/esp_modem/search.html b/esp_modem/search.html index 22f03d7d4..e0bb5c1ab 100644 --- a/esp_modem/search.html +++ b/esp_modem/search.html @@ -14,6 +14,7 @@ + @@ -116,7 +117,7 @@ ©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd. | - Powered by Sphinx 5.1.1 + Powered by Sphinx 5.2.2 & Alabaster 0.7.12 diff --git a/esp_modem/searchindex.js b/esp_modem/searchindex.js index d8cc164e5..22f76f87b 100644 --- a/esp_modem/searchindex.js +++ b/esp_modem/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "advanced_api", "api_docs", "cxx_api_docs", "cxx_api_links", "index", "internal_design", "internal_docs"], "filenames": ["README.md", "advanced_api.rst", "api_docs.rst", "cxx_api_docs.rst", "cxx_api_links.rst", "index.rst", "internal_design.md", "internal_docs.rst"], "titles": ["ESP MODEM", "Advanced esp-modem use cases", "C API Documentation", "C++ API Documentation", "<no title>", "ESP-MODEM Programmers manual", "Internal design", "DCE Internal implementation"], "terms": {"thi": [0, 1, 2, 7], "i": [0, 1, 2, 3, 6, 7], "commun": [0, 2, 3, 5, 7], "command": [0, 1, 5, 6], "mode": [0, 2, 5, 6, 7], "AT": [0, 1, 2, 3, 6, 7], "well": [0, 6, 7], "data": [0, 2, 3, 6, 7], "over": [0, 6], "pppo": 0, "protocol": [0, 7], "The": [0, 1, 2, 3, 6, 7], "model": [0, 1, 5], "equip": [0, 7], "object": [0, 1, 3, 7], "which": [0, 1, 2, 6, 7], "compos": [0, 6], "termin": [0, 1, 2, 5], "abstract": [0, 5, 6], "current": [0, 2, 7], "onli": [0, 1, 2, 6, 7], "uart": [0, 1, 2, 3, 6, 7], "implement": [0, 1, 2, 5, 6], "repres": [0, 1, 7], "network": [0, 1, 2, 3, 6, 7], "interfac": [0, 2, 3, 5, 6], "specif": [0, 1, 2, 3, 7], "its": [0, 2, 6, 7], "o": 0, "set_mod": [0, 7], "send_command": 0, "event": [0, 2], "basic": [0, 1, 2, 3, 6, 7], "oper": [0, 2, 7], "unit": [0, 7], "_": 0, "softwar": 0, "configur": [0, 1, 3, 5, 7], "media": 0, "defin": [0, 1, 2, 7], "librari": [0, 5], "support": [0, 1, 2, 7], "type": [0, 2, 5], "config": [0, 1, 2, 3, 7], "lwip": 0, "after": [0, 2, 7], "creat": [0, 2, 5, 7], "applic": [0, 1, 2, 3], "interact": 0, "issu": [0, 2], "switch": [0, 2, 5, 7], "between": [0, 7], "an": [0, 1, 2, 7], "physic": 0, "connect": [0, 1, 2, 7], "attach": [0, 2, 7], "sim800": [0, 1, 3, 7], "bg96": [0, 1, 3, 7], "sim7600": [0, 1, 3, 7], "user": [0, 1, 2, 7], "internet": 0, "via": [0, 7], "cellular": [0, 2, 7], "send": [0, 2, 3, 6, 7], "variou": 0, "e": [0, 1, 7], "g": [0, 1], "sm": [0, 2, 7], "typic": [0, 1, 2, 7], "regist": 0, "handler": 0, "receiv": [0, 7], "notif": 0, "avail": [0, 2, 6, 7], "ip": 0, "address": 0, "chang": 0, "common": [0, 1, 2, 6, 7], "ar": [0, 2, 3, 6, 7], "also": [0, 1, 2, 6, 7], "list": [0, 2, 7], "exampl": [0, 1], "pppos_client": 0, "simpl": [0, 2], "client": 0, "read": [0, 2, 6, 7], "some": [0, 6, 7], "properti": 0, "public": [0, 1, 2, 3, 7], "mqtt": 0, "broker": 0, "modem_consol": [0, 1], "exercis": 0, "all": [0, 1, 3, 7], "possibl": [0, 1], "consol": 0, "ap_to_pppo": 0, "focus": 0, "provid": [0, 1, 6, 7], "wifi": 0, "ap": 0, "forward": [0, 7], "packet": 0, "nat": 0, "from": [0, 1, 2, 6, 7], "virtual": [0, 1, 6, 7], "experiment": 0, "featur": 0, "allow": 0, "multipl": [0, 7], "design": [0, 5], "them": 0, "sole": [0, 7], "we": [0, 7], "modern": 0, "usb": 0, "spi": [0, 1], "ad": [0, 5], "new": [0, 2, 5, 6], "must": [0, 7], "have": [0, 3, 7], "requir": 0, "differ": [0, 1, 6, 7], "might": [0, 6], "mean": [0, 7], "class": [0, 1, 3, 6, 7], "deriv": [0, 1, 7], "genericmodul": [0, 1, 6, 7], "where": 0, "could": [0, 1, 6, 7], "add": [0, 6, 7], "modifi": 0, "exist": [0, 1, 7], "ones": 0, "chapter": [1, 7], "outlin": 1, "extens": [1, 5, 7], "compon": [1, 5, 7], "It": [1, 3, 7], "handl": [1, 2, 6], "mani": 1, "wai": [1, 7], "build": [1, 7], "top": 1, "gener": [1, 2, 3, 5, 6], "share": [1, 3, 7], "uniqu": [1, 3, 7], "vanilla": 1, "pointer": [1, 2, 7], "templat": [1, 3, 6, 7], "dce_t": [1, 3, 7], "one": [1, 7], "function": [1, 2, 3, 7], "group": [1, 2, 3, 7], "esp_modem_dce_factori": 1, "enum": [1, 2, 7], "modemtyp": 1, "choic": 1, "when": [1, 6], "valu": [1, 2, 7], "enumer": [1, 2, 7], "default": [1, 2, 3, 7], "most": [1, 2, 6, 7], "appli": 1, "sim7070": [1, 3, 7], "sim7000": [1, 3, 7], "bg69": 1, "factoryhelp": 1, "includ": [1, 2, 7], "hpp": [1, 7], "helper": [1, 7], "either": [1, 3, 7], "plain": [1, 2], "shared_ptr": [1, 3, 7], "unique_ptr": [1, 3, 7], "typenam": 1, "t_modul": 1, "creator": 1, "dte": [1, 2, 5, 6], "netif": [1, 2, 3, 5, 6], "throw": [1, 6], "base": [1, 3, 7], "suppli": [1, 2, 7], "app": [1, 2], "arg": 1, "inlin": [1, 3, 7], "std": [1, 3, 7], "build_uniqu": 1, "const": [1, 2, 3, 7], "cfg": 1, "chosen": [1, 2], "paramet": [1, 2, 3, 7], "argument": [1, 7], "builder": 1, "constructor": [1, 6], "esp_modem": [1, 3, 4, 7], "structur": [1, 5, 7], "esp_modem_dte_config": [1, 2, 3, 7], "ppp": [1, 2, 5, 6, 7], "return": [1, 2, 3, 7], "success": [1, 2, 3, 7], "static": 1, "necessari": [1, 3, 7], "need": [1, 2, 7], "devic": [1, 2, 5, 6], "ani": 1, "In": 1, "recommend": 1, "order": [1, 7], "appropri": [1, 7], "dce_factori": 1, "pleas": [1, 7], "refer": [1, 3, 7], "note": [1, 2], "trivial": 1, "overrid": [1, 7], "demonstr": 1, "purpos": 1, "unsupport": 1, "i2c": 1, "two": [1, 2, 7], "step": 1, "correspond": 1, "should": [1, 2, 7], "io": 1, "method": [1, 6, 7], "veri": 2, "consist": [2, 3, 7], "part": 2, "workflow": [2, 3], "dce": [2, 4, 5], "instanc": [2, 7], "us": [2, 3, 5, 6, 7], "esp_modem_new": 2, "call": [2, 7], "esp_modem_set_mod": 2, "perform": 2, "desir": [2, 7], "standard": 2, "unrel": 2, "esp": [2, 7], "option": 2, "back": [2, 7], "again": 2, "destroi": [2, 5], "sing": 2, "esp_modem_destroi": 2, "These": 2, "set": [2, 3, 7], "work": [2, 7], "esp_modem_c_api": 2, "typedef": [2, 3, 7], "esp_modem_dce_mod": 2, "esp_modem_dce_mode_t": 2, "esp_modem_dce_devic": 2, "esp_modem_dce_device_t": 2, "esp_modem_mode_command": 2, "startup": 2, "esp_modem_mode_data": 2, "esp_modem_mode_cmux": 2, "multiplex": [2, 6, 7], "esp_modem_dce_genet": 2, "esp_modem_dce_sim7600": 2, "esp_modem_dce_sim7070": 2, "esp_modem_dce_sim7000": 2, "esp_modem_dce_bg96": 2, "esp_modem_dce_sim800": 2, "esp_modem_dce_t": 2, "esp_modem_dte_config_t": 2, "dte_config": [2, 3], "esp_modem_dce_config_t": 2, "dce_config": [2, 3], "esp_netif_t": [2, 3], "now": 2, "null": 2, "failur": [2, 3, 6], "esp_modem_new_dev": 2, "modul": [2, 3, 5, 6], "void": [2, 3, 7], "": [2, 3, 5, 7], "esp_err_t": 2, "esp_ok": 2, "esp_fail": 2, "actual": [2, 7], "textual": 2, "char": [2, 7], "expect": 2, "output": [2, 7], "point": [2, 7], "alloc": [2, 6], "space": 2, "least": 2, "esp_modem_c_api_str_max": 2, "64": 2, "byte": [2, 7], "truncat": 2, "size": [2, 7], "command_result": [2, 7], "esp_modem_sync": 2, "initi": [2, 3, 6, 7], "sequenc": [2, 7], "sync": [2, 3, 4, 7], "up": [2, 3, 7], "ok": [2, 7], "fail": [2, 7], "timeout": [2, 7], "esp_modem_get_operator_nam": 2, "name": [2, 7], "int": [2, 7], "act": [2, 7], "out": [2, 3, 7], "access": [2, 7], "technologi": [2, 7], "esp_modem_store_profil": 2, "store": [2, 7], "profil": [2, 7], "esp_modem_set_pin": 2, "pin": [2, 7], "code": [2, 6, 7], "esp_modem_at": 2, "cmd": [2, 7], "execut": [2, 7], "string": [2, 7], "millisecond": [2, 7], "esp_modem_read_pin": 2, "bool": [2, 7], "pin_ok": [2, 7], "check": [2, 7], "sim": [2, 7], "true": [2, 7], "card": [2, 7], "doesn": [2, 3, 7], "t": [2, 3, 7], "unlock": [2, 7], "esp_modem_set_echo": 2, "echo_on": [2, 7], "echo": [2, 7], "repeat": [2, 7], "esp_modem_sms_txt_mod": 2, "txt": [2, 7], "pdu": [2, 7], "esp_modem_sms_character_set": 2, "gsm": [2, 7], "charact": [2, 7], "esp_modem_send_sm": 2, "number": [2, 6, 7], "messag": [2, 7], "phone": [2, 7], "text": [2, 7], "sent": [2, 7], "esp_modem_resume_data_mod": 2, "resum": [2, 7], "wa": [2, 7], "temporarili": [2, 7], "suspend": [2, 7], "esp_modem_set_pdp_context": 2, "esp_modem_pdpcontext_t": 2, "p1": [2, 7], "php": [2, 7], "context": [2, 7], "pdp": [2, 7], "struct": [2, 7], "setup": [2, 7], "esp_modem_set_command_mod": 2, "esp_modem_set_cmux": 2, "cmux": [2, 5], "esp_modem_get_imsi": 2, "imsi": [2, 7], "esp_modem_get_imei": 2, "imei": [2, 7], "esp_modem_get_module_nam": 2, "esp_modem_set_data_mod": 2, "esp_modem_get_signal_qu": 2, "rssi": [2, 7], "ber": [2, 7], "get": [2, 3, 7], "signal": [2, 7], "qualiti": [2, 7], "strength": [2, 7], "indic": [2, 7], "channel": [2, 7], "bit": [2, 7], "error": [2, 3, 6, 7], "rate": [2, 7], "esp_modem_set_flow_control": 2, "dce_flow": [2, 7], "dte_flow": [2, 7], "hw": [2, 7], "control": [2, 7], "flow": [2, 7], "0": [2, 7], "none": [2, 7], "2": [2, 7], "rt": [2, 7], "ct": [2, 7], "esp_modem_hang_up": 2, "hang": [2, 7], "esp_modem_get_battery_statu": 2, "voltag": [2, 7], "bc": [2, 7], "bcl": [2, 7], "level": [2, 7], "power": [2, 7], "circuitri": [2, 7], "statu": [2, 7], "mv": [2, 7], "charg": [2, 7], "1": [2, 7], "Not": [2, 7], "done": [2, 7], "100": [2, 7], "batteri": [2, 7], "capac": [2, 7], "esp_modem_power_down": 2, "down": [2, 6, 7], "esp_modem_reset": 2, "reset": [2, 3, 4, 7], "esp_modem_set_baud": 2, "baud": [2, 7], "baudrat": [2, 7], "esp_modem_set_oper": 2, "format": [2, 7], "forc": [2, 7], "attempt": [2, 7], "automat": [2, 3, 7], "manual": [2, 7], "deregist": [2, 7], "3": [2, 7], "4": [2, 7], "fallback": [2, 7], "what": [2, 7], "given": [2, 7], "long": [2, 6, 7], "short": [2, 7], "numer": [2, 7], "esp_modem_set_network_attachment_st": 2, "state": [2, 7], "detach": [2, 7], "gpr": [2, 7], "servic": [2, 7], "esp_modem_get_network_attachment_st": 2, "esp_modem_set_radio_st": 2, "radio": [2, 7], "full": [2, 7], "minimum": [2, 7], "esp_modem_get_radio_st": 2, "esp_modem_set_network_mod": 2, "prefer": [2, 7], "esp_modem_set_preferred_mod": 2, "cat": [2, 7], "m": [2, 7], "nb": [2, 7], "iot": [2, 7], "select": [2, 7], "esp_modem_set_network_band": 2, "band": [2, 7], "esp_modem_get_network_system_mod": 2, "show": [2, 7], "system": [2, 7], "esp_modem_set_gnss_power_mod": 2, "gnss": [2, 7], "off": [2, 6, 7], "esp_modem_config": 2, "esp_modem_dte_default_config": 2, "esp_modem_dce_default_config": 2, "apn": 2, "esp_modem_dce_config": [2, 3], "esp_modem_flow_ctrl_t": 2, "esp_modem_flow_control_non": 2, "esp_modem_flow_control_sw": 2, "esp_modem_flow_control_hw": 2, "esp_modem_uart_term_config": 2, "h": 2, "member": 2, "uart_port_t": 2, "port_num": 2, "port": 2, "uart_word_length_t": 2, "data_bit": 2, "uart_stop_bits_t": 2, "stop_bit": 2, "stop": [2, 7], "uart_parity_t": 2, "pariti": 2, "flow_control": 2, "uart_sclk_t": 2, "source_clk": 2, "sourc": [2, 7], "clock": 2, "baud_rat": 2, "tx_io_num": 2, "txd": 2, "rx_io_num": 2, "rxd": 2, "rts_io_num": 2, "cts_io_num": 2, "rx_buffer_s": 2, "rx": 2, "buffer": [2, 7], "tx_buffer_s": 2, "tx": 2, "event_queue_s": 2, "queue": 2, "esp_modem_vfs_term_config": 2, "vf": [2, 3], "fd": 2, "alreadi": 2, "file": [2, 7], "descriptor": 2, "delet": 2, "esp_modem_vfs_resourc": 2, "custom": [2, 5, 7], "close": [2, 7], "resourc": 2, "clenaup": 2, "complet": [2, 7], "sw": 2, "follow": [2, 7], "portion": 2, "dedic": 2, "size_t": [2, 7], "dte_buffer_s": 2, "uint32_t": [2, 7], "task_stack_s": 2, "task": 2, "stack": 2, "unsign": 2, "task_prior": 2, "prioriti": 2, "uart_config": 2, "vfs_config": 2, "extension_config": 2, "logic": [2, 7], "similar": 3, "construct": [3, 7], "esp_modem_init_dt": 3, "create_uart_dt": 3, "ptr": [3, 7], "nullptr": 3, "due": 3, "insuffici": 3, "memori": 3, "wrong": 3, "except": [3, 6], "disabl": 3, "abort": [3, 6], "create_vfs_dt": 3, "esp_modem_init_dc": 3, "create_sim7600_dc": 3, "create_sim7070_dc": 3, "create_sim7000_dc": 3, "create_sim800_dc": 3, "create_bg96_dc": 3, "create_generic_dc": 3, "specificmodul": [3, 6, 7], "respons": [3, 7], "transact": [3, 7], "relat": [3, 7], "consequ": [3, 7], "synergi": [3, 7], "aggreg": [3, 7], "set_data": [3, 7], "get_operator_nam": [3, 4, 7], "store_profil": [3, 4, 7], "set_pin": [3, 4, 7], "read_pin": [3, 4, 7], "set_echo": [3, 4, 7], "sms_txt_mode": [3, 4, 7], "sms_character_set": [3, 4, 7], "send_sm": [3, 4, 7], "resume_data_mod": [3, 4, 7], "set_pdp_context": [3, 4, 7], "set_command_mod": [3, 4, 7], "set_cmux": [3, 4, 7], "get_imsi": [3, 4, 7], "get_imei": [3, 4, 7], "get_module_nam": [3, 4, 7], "set_data_mod": [3, 4, 7], "get_signal_qu": [3, 4, 7], "set_flow_control": [3, 4, 7], "hang_up": [3, 4, 7], "get_battery_statu": [3, 4, 7], "power_down": [3, 4, 7], "set_baud": [3, 4, 7], "set_oper": [3, 4, 7], "set_network_attachment_st": [3, 4, 7], "get_network_attachment_st": [3, 4, 7], "set_radio_st": [3, 4, 7], "get_radio_st": [3, 4, 7], "set_network_mod": [3, 4, 7], "set_preferred_mod": [3, 4, 7], "set_network_band": [3, 4, 7], "get_network_system_mod": [3, 4, 7], "set_gnss_power_mod": [3, 4, 7], "explicitli": [3, 7], "simpli": 3, "clean": 3, "goe": 3, "block": [3, 6, 7], "scope": 3, "brief": 5, "intro": 5, "case": [5, 6], "other": [5, 7], "c": [5, 6, 7], "lifecycl": 5, "api": [5, 6, 7], "advanc": [5, 7], "instanti": 5, "factori": [5, 7], "intern": 5, "decis": 5, "collabor": 5, "inherit": 5, "addit": [6, 7], "macro": [6, 7], "wrapper": 6, "try": 6, "catch": 6, "easier": 6, "ON": 6, "init": [6, 7], "treat": 6, "runtim": [6, 7], "program": 6, "break": 6, "more": 6, "privat": 6, "modem": 6, "special": [6, 7], "implant": 6, "minim": 6, "moduleif": [6, 7], "oonli": 6, "compil": 6, "time": [6, 7], "without": [6, 7], "diagram": 6, "describ": [6, 7], "how": 6, "can": [6, 7], "write": [6, 7], "callback": [6, 7], "driver": 6, "below": 6, "depict": 6, "idea": 6, "cmuxinst": [6, 7], "arbitrari": 6, "same": [6, 7], "consum": [6, 7], "origin": [6, 7], "detail": 7, "descript": 7, "turn": 7, "thee": 7, "develop": 7, "would": 7, "explain": 7, "section": 7, "esp_modem_dc": 7, "definit": 7, "dce_mod": 7, "parent": 7, "pdpcontext": 7, "talk": 7, "besid": 7, "document": 7, "esp_modem_dt": 7, "commandableif": 7, "explicit": 7, "uint8_t": 7, "len": 7, "underli": 7, "written": 7, "d": 7, "payload": 7, "length": 7, "set_read_cb": 7, "f": 7, "valid": 7, "set_error_cb": 7, "terminal_error": 7, "err": 7, "modem_mod": 7, "got_line_cb": 7, "got_lin": 7, "time_m": 7, "respond": 7, "line": 7, "wait": 7, "answer": 7, "separ": 7, "abov": 7, "esp_modem_termin": 7, "buffer_overflow": 7, "checksum_error": 7, "unexpected_control_flow": 7, "device_gon": 7, "compli": 7, "subclass": 7, "maximum": 7, "esp_modem_cmux": 7, "cmux_stat": 7, "machin": 7, "header": 7, "footer": 7, "recov": 7, "itself": 7, "usabl": 7, "deinit": 7, "pair": 7, "unique_buff": 7, "eject": 7, "so": 7, "thei": 7, "tradit": 7, "inst": 7, "index": 7, "esp_modem_netif": 7, "layer": 7, "glue": 7, "start": 7, "wait_until_ppp_exit": 7, "until": 7, "esp_modem_modul": 7, "esp_modem_dce_modul": 7, "just": 7, "setup_data_mod": 7, "mandatori": 7, "abl": 7, "configure_pdp_context": 7, "new_pdp": 7, "simplifi": 7, "version": 7, "To": 7, "ha": 7, "declar": 7, "first": 7, "esp_modem_command_declar": 7, "inc": 7, "singl": 7, "cpp": 7, "therefor": 7, "care": 7, "taken": 7, "correctli": 7, "specifi": 7, "especi": 7, "keep": 7, "low": 7, "6": 7, "preprocessor": 7, "both": 7, "clariti": 7, "expand": 7, "pattern": 7, "int_in": 7, "input": 7, "integ": 7, "human": 7, "readabl": 7, "second": 7, "p2": 7, "etc": 7, "namespac": 7, "hold": 7, "esp_modem_dce_command": 7, "esp_modem_declare_dce_command": 7, "return_typ": 7, "num": 7, "get_battery_status_sim7xxx": 7, "set_gnss_power_mode_sim76xx": 7, "power_down_sim76xx": 7, "power_down_sim70xx": 7, "set_network_bands_sim76xx": 7, "power_down_sim8xx": 7, "set_data_mode_sim8xx": 7, "esp_modem_typ": 7, "undef": 7, "command_mod": 7, "8212": 7, "suppos": 7, "data_mod": 7, "cmux_mod": 7, "assign": 7, "result": 7, "successfulli": 7, "didn": 7, "timelin": 7, "elig": 7}, "objects": {"": [[2, 0, 1, "c.ESP_MODEM_DCE_DEFAULT_CONFIG", "ESP_MODEM_DCE_DEFAULT_CONFIG"], [7, 0, 1, "c.ESP_MODEM_DECLARE_DCE_COMMAND", "ESP_MODEM_DECLARE_DCE_COMMAND"], [2, 0, 1, "c.ESP_MODEM_DTE_DEFAULT_CONFIG", "ESP_MODEM_DTE_DEFAULT_CONFIG"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E", "ESP_MODEM_DCE_BG96"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE", "ESP_MODEM_DCE_GENETIC"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7000E", "ESP_MODEM_DCE_SIM7000"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7070E", "ESP_MODEM_DCE_SIM7070"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E", "ESP_MODEM_DCE_SIM7600"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E", "ESP_MODEM_DCE_SIM800"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE", "ESP_MODEM_FLOW_CONTROL_HW"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE", "ESP_MODEM_FLOW_CONTROL_NONE"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE", "ESP_MODEM_FLOW_CONTROL_SW"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_CMUXE", "ESP_MODEM_MODE_CMUX"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE", "ESP_MODEM_MODE_COMMAND"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE", "ESP_MODEM_MODE_DATA"], [1, 2, 1, "_CPPv49ModemType", "ModemType"], [1, 1, 1, "_CPPv4N9ModemType4BG96E", "ModemType::BG96"], [1, 1, 1, "_CPPv4N9ModemType13GenericModuleE", "ModemType::GenericModule"], [1, 1, 1, "_CPPv4N9ModemType7SIM7000E", "ModemType::SIM7000"], [1, 1, 1, "_CPPv4N9ModemType7SIM7070E", "ModemType::SIM7070"], [1, 1, 1, "_CPPv4N9ModemType7SIM7600E", "ModemType::SIM7600"], [1, 1, 1, "_CPPv4N9ModemType6SIM800E", "ModemType::SIM800"], [7, 2, 1, "_CPPv410cmux_state", "cmux_state"], [7, 1, 1, "_CPPv4N10cmux_state6FOOTERE", "cmux_state::FOOTER"], [7, 1, 1, "_CPPv4N10cmux_state6HEADERE", "cmux_state::HEADER"], [7, 1, 1, "_CPPv4N10cmux_state4INITE", "cmux_state::INIT"], [7, 1, 1, "_CPPv4N10cmux_state7PAYLOADE", "cmux_state::PAYLOAD"], [7, 1, 1, "_CPPv4N10cmux_state7RECOVERE", "cmux_state::RECOVER"], [7, 2, 1, "_CPPv414command_result", "command_result"], [7, 1, 1, "_CPPv4N14command_result4FAILE", "command_result::FAIL"], [7, 1, 1, "_CPPv4N14command_result2OKE", "command_result::OK"], [7, 1, 1, "_CPPv4N14command_result7TIMEOUTE", "command_result::TIMEOUT"], [3, 3, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce"], [3, 4, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce::config"], [3, 4, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce::dte"], [3, 4, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce::netif"], [3, 3, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce"], [3, 4, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce::config"], [3, 4, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce::dte"], [3, 4, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce::netif"], [3, 3, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce"], [3, 4, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce::config"], [3, 4, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce::dte"], [3, 4, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce::netif"], [3, 3, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce"], [3, 4, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce::config"], [3, 4, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce::dte"], [3, 4, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce::netif"], [3, 3, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce"], [3, 4, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce::config"], [3, 4, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce::dte"], [3, 4, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce::netif"], [3, 3, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce"], [3, 4, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce::config"], [3, 4, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce::dte"], [3, 4, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce::netif"], [3, 3, 1, "_CPPv415create_uart_dtePK10dte_config", "create_uart_dte"], [3, 4, 1, "_CPPv415create_uart_dtePK10dte_config", "create_uart_dte::config"], [3, 3, 1, "_CPPv414create_vfs_dtePK10dte_config", "create_vfs_dte"], [3, 4, 1, "_CPPv414create_vfs_dtePK10dte_config", "create_vfs_dte::config"], [3, 5, 1, "_CPPv410dce_config", "dce_config"], [3, 5, 1, "_CPPv410dte_config", "dte_config"], [7, 6, 1, "_CPPv4N9esp_modem4BG96E", "esp_modem::BG96"], [7, 6, 1, "_CPPv4N9esp_modem4CMuxE", "esp_modem::CMux"], [7, 3, 1, "_CPPv4N9esp_modem4CMux6deinitEv", "esp_modem::CMux::deinit"], [7, 3, 1, "_CPPv4N9esp_modem4CMux6detachEv", "esp_modem::CMux::detach"], [7, 3, 1, "_CPPv4N9esp_modem4CMux4initEv", "esp_modem::CMux::init"], [7, 3, 1, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::CMux::set_read_cb"], [7, 4, 1, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::CMux::set_read_cb::f"], [7, 4, 1, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::CMux::set_read_cb::inst"], [7, 3, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write"], [7, 4, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write::data"], [7, 4, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write::i"], [7, 4, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write::len"], [7, 6, 1, "_CPPv4N9esp_modem12CMuxInstanceE", "esp_modem::CMuxInstance"], [7, 3, 1, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t", "esp_modem::CMuxInstance::read"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t", "esp_modem::CMuxInstance::read::data"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t", "esp_modem::CMuxInstance::read::len"], [7, 3, 1, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t", "esp_modem::CMuxInstance::write"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t", "esp_modem::CMuxInstance::write::data"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t", "esp_modem::CMuxInstance::write::len"], [7, 6, 1, "_CPPv4N9esp_modem13CommandableIfE", "esp_modem::CommandableIf"], [7, 3, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::command"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::got_line"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::separator"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::time_ms"], [7, 6, 1, "_CPPv4N9esp_modem3DCEE", "esp_modem::DCE"], [7, 3, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at"], [7, 4, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at::cmd"], [7, 4, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at::out"], [7, 4, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at::timeout"], [7, 3, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status::bcl"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status::bcs"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status::voltage"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE", "esp_modem::DCE::get_imei"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE", "esp_modem::DCE::get_imei::imei"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE", "esp_modem::DCE::get_imsi"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE", "esp_modem::DCE::get_imsi::imsi"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE", "esp_modem::DCE::get_module_name"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE", "esp_modem::DCE::get_module_name::name"], [7, 3, 1, "_CPPv4N9esp_modem3DCE28get_network_attachment_stateERi", "esp_modem::DCE::get_network_attachment_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE28get_network_attachment_stateERi", "esp_modem::DCE::get_network_attachment_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE23get_network_system_modeERi", "esp_modem::DCE::get_network_system_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE23get_network_system_modeERi", "esp_modem::DCE::get_network_system_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi", "esp_modem::DCE::get_operator_name"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi", "esp_modem::DCE::get_operator_name::act"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi", "esp_modem::DCE::get_operator_name::name"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15get_radio_stateERi", "esp_modem::DCE::get_radio_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15get_radio_stateERi", "esp_modem::DCE::get_radio_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi", "esp_modem::DCE::get_signal_quality"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi", "esp_modem::DCE::get_signal_quality::ber"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi", "esp_modem::DCE::get_signal_quality::rssi"], [7, 3, 1, "_CPPv4N9esp_modem3DCE7hang_upEv", "esp_modem::DCE::hang_up"], [7, 3, 1, "_CPPv4N9esp_modem3DCE10power_downEv", "esp_modem::DCE::power_down"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8read_pinERb", "esp_modem::DCE::read_pin"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8read_pinERb", "esp_modem::DCE::read_pin::pin_ok"], [7, 3, 1, "_CPPv4N9esp_modem3DCE5resetEv", "esp_modem::DCE::reset"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16resume_data_modeEv", "esp_modem::DCE::resume_data_mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE", "esp_modem::DCE::send_sms"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE", "esp_modem::DCE::send_sms::message"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE", "esp_modem::DCE::send_sms::number"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8set_baudEi", "esp_modem::DCE::set_baud"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8set_baudEi", "esp_modem::DCE::set_baud::baud"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8set_cmuxEv", "esp_modem::DCE::set_cmux"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16set_command_modeEv", "esp_modem::DCE::set_command_mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE13set_data_modeEv", "esp_modem::DCE::set_data_mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8set_echoEKb", "esp_modem::DCE::set_echo"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8set_echoEKb", "esp_modem::DCE::set_echo::echo_on"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16set_flow_controlEii", "esp_modem::DCE::set_flow_control"], [7, 4, 1, "_CPPv4N9esp_modem3DCE16set_flow_controlEii", "esp_modem::DCE::set_flow_control::dce_flow"], [7, 4, 1, "_CPPv4N9esp_modem3DCE16set_flow_controlEii", "esp_modem::DCE::set_flow_control::dte_flow"], [7, 3, 1, "_CPPv4N9esp_modem3DCE19set_gnss_power_modeEi", "esp_modem::DCE::set_gnss_power_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE19set_gnss_power_modeEi", "esp_modem::DCE::set_gnss_power_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE28set_network_attachment_stateEi", "esp_modem::DCE::set_network_attachment_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE28set_network_attachment_stateEi", "esp_modem::DCE::set_network_attachment_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands::bands"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands::mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands::size"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16set_network_modeEi", "esp_modem::DCE::set_network_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE16set_network_modeEi", "esp_modem::DCE::set_network_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator::format"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator::mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator::oper"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext", "esp_modem::DCE::set_pdp_context"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext", "esp_modem::DCE::set_pdp_context::p1"], [7, 3, 1, "_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE", "esp_modem::DCE::set_pin"], [7, 4, 1, "_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE", "esp_modem::DCE::set_pin::pin"], [7, 3, 1, "_CPPv4N9esp_modem3DCE18set_preferred_modeEi", "esp_modem::DCE::set_preferred_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18set_preferred_modeEi", "esp_modem::DCE::set_preferred_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15set_radio_stateEi", "esp_modem::DCE::set_radio_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15set_radio_stateEi", "esp_modem::DCE::set_radio_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE17sms_character_setEv", "esp_modem::DCE::sms_character_set"], [7, 3, 1, "_CPPv4N9esp_modem3DCE12sms_txt_modeEKb", "esp_modem::DCE::sms_txt_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12sms_txt_modeEKb", "esp_modem::DCE::sms_txt_mode::txt"], [7, 3, 1, "_CPPv4N9esp_modem3DCE13store_profileEv", "esp_modem::DCE::store_profile"], [7, 3, 1, "_CPPv4N9esp_modem3DCE4syncEv", "esp_modem::DCE::sync"], [7, 6, 1, "_CPPv4N9esp_modem8DCE_ModeE", "esp_modem::DCE_Mode"], [3, 6, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T"], [7, 6, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T"], [3, 7, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T::SpecificModule"], [7, 7, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T::SpecificModule"], [3, 3, 1, "_CPPv4N9esp_modem5DCE_T8set_dataEv", "esp_modem::DCE_T::set_data"], [7, 3, 1, "_CPPv4N9esp_modem5DCE_T8set_dataEv", "esp_modem::DCE_T::set_data"], [7, 6, 1, "_CPPv4N9esp_modem3DTEE", "esp_modem::DTE"], [7, 3, 1, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE", "esp_modem::DTE::DTE"], [7, 4, 1, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE", "esp_modem::DTE::DTE::config"], [7, 4, 1, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE", "esp_modem::DTE::DTE::t"], [7, 3, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command"], [7, 3, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command::command"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::command"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command::got_line"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::got_line"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::separator"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command::time_ms"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::time_ms"], [7, 3, 1, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t", "esp_modem::DTE::read"], [7, 4, 1, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t", "esp_modem::DTE::read::d"], [7, 4, 1, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t", "esp_modem::DTE::read::len"], [7, 3, 1, "_CPPv4N9esp_modem3DTE12set_error_cbENSt8functionIFv14terminal_errorEEE", "esp_modem::DTE::set_error_cb"], [7, 4, 1, "_CPPv4N9esp_modem3DTE12set_error_cbENSt8functionIFv14terminal_errorEEE", "esp_modem::DTE::set_error_cb::f"], [7, 3, 1, "_CPPv4N9esp_modem3DTE8set_modeE10modem_mode", "esp_modem::DTE::set_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DTE8set_modeE10modem_mode", "esp_modem::DTE::set_mode::m"], [7, 3, 1, "_CPPv4N9esp_modem3DTE11set_read_cbENSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::DTE::set_read_cb"], [7, 4, 1, "_CPPv4N9esp_modem3DTE11set_read_cbENSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::DTE::set_read_cb::f"], [7, 3, 1, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t", "esp_modem::DTE::write"], [7, 4, 1, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t", "esp_modem::DTE::write::data"], [7, 4, 1, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t", "esp_modem::DTE::write::len"], [7, 6, 1, "_CPPv4N9esp_modem13GenericModuleE", "esp_modem::GenericModule"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::GenericModule"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::GenericModule::dte"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::GenericModule::pdp"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule21configure_pdp_contextENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::configure_pdp_context"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule21configure_pdp_contextENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::configure_pdp_context::new_pdp"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule17get_operator_nameERNSt6stringE", "esp_modem::GenericModule::get_operator_name"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule17get_operator_nameERNSt6stringE", "esp_modem::GenericModule::get_operator_name::name"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule8set_modeE10modem_mode", "esp_modem::GenericModule::set_mode"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule8set_modeE10modem_mode", "esp_modem::GenericModule::set_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule15setup_data_modeEv", "esp_modem::GenericModule::setup_data_mode"], [7, 6, 1, "_CPPv4N9esp_modem8ModuleIfE", "esp_modem::ModuleIf"], [7, 3, 1, "_CPPv4N9esp_modem8ModuleIf8set_modeE10modem_mode", "esp_modem::ModuleIf::set_mode"], [7, 4, 1, "_CPPv4N9esp_modem8ModuleIf8set_modeE10modem_mode", "esp_modem::ModuleIf::set_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem8ModuleIf15setup_data_modeEv", "esp_modem::ModuleIf::setup_data_mode"], [7, 6, 1, "_CPPv4N9esp_modem5NetifE", "esp_modem::Netif"], [7, 3, 1, "_CPPv4N9esp_modem5Netif5startEv", "esp_modem::Netif::start"], [7, 3, 1, "_CPPv4N9esp_modem5Netif4stopEv", "esp_modem::Netif::stop"], [7, 3, 1, "_CPPv4N9esp_modem5Netif20wait_until_ppp_exitsEv", "esp_modem::Netif::wait_until_ppp_exits"], [7, 6, 1, "_CPPv4N9esp_modem10PdpContextE", "esp_modem::PdpContext"], [7, 6, 1, "_CPPv4N9esp_modem7SIM7000E", "esp_modem::SIM7000"], [7, 6, 1, "_CPPv4N9esp_modem7SIM7070E", "esp_modem::SIM7070"], [7, 6, 1, "_CPPv4N9esp_modem7SIM7600E", "esp_modem::SIM7600"], [7, 6, 1, "_CPPv4N9esp_modem6SIM800E", "esp_modem::SIM800"], [7, 6, 1, "_CPPv4N9esp_modem8TerminalE", "esp_modem::Terminal"], [7, 3, 1, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t", "esp_modem::Terminal::read"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t", "esp_modem::Terminal::read::data"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t", "esp_modem::Terminal::read::len"], [7, 3, 1, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t", "esp_modem::Terminal::write"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t", "esp_modem::Terminal::write::data"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t", "esp_modem::Terminal::write::len"], [1, 6, 1, "_CPPv4I0EN9esp_modem11dce_factory7CreatorE", "esp_modem::dce_factory::Creator"], [1, 7, 1, "_CPPv4I0EN9esp_modem11dce_factory7CreatorE", "esp_modem::dce_factory::Creator::T_Module"], [1, 6, 1, "_CPPv4N9esp_modem11dce_factory7FactoryE", "esp_modem::dce_factory::Factory"], [1, 3, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::Args"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::T_Module"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::args"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::cfg"], [1, 3, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique"], [1, 3, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::Args"], [1, 7, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::Args"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::T_Module"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::args"], [1, 4, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::args"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::cfg"], [1, 4, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::cfg"], [1, 6, 1, "_CPPv4N9esp_modem11dce_factory13FactoryHelperE", "esp_modem::dce_factory::FactoryHelper"], [2, 3, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at"], [2, 4, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at::cmd"], [2, 4, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at::out"], [2, 4, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at::timeout"], [2, 6, 1, "_CPPv420esp_modem_dce_config", "esp_modem_dce_config"], [2, 8, 1, "_CPPv4N20esp_modem_dce_config3apnE", "esp_modem_dce_config::apn"], [2, 5, 1, "_CPPv422esp_modem_dce_config_t", "esp_modem_dce_config_t"], [2, 2, 1, "_CPPv420esp_modem_dce_device", "esp_modem_dce_device"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E", "esp_modem_dce_device::ESP_MODEM_DCE_BG96"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE", "esp_modem_dce_device::ESP_MODEM_DCE_GENETIC"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7000E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM7000"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7070E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM7070"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM7600"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM800"], [2, 5, 1, "_CPPv422esp_modem_dce_device_t", "esp_modem_dce_device_t"], [2, 2, 1, "_CPPv418esp_modem_dce_mode", "esp_modem_dce_mode"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_CMUXE", "esp_modem_dce_mode::ESP_MODEM_MODE_CMUX"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE", "esp_modem_dce_mode::ESP_MODEM_MODE_COMMAND"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE", "esp_modem_dce_mode::ESP_MODEM_MODE_DATA"], [2, 5, 1, "_CPPv420esp_modem_dce_mode_t", "esp_modem_dce_mode_t"], [2, 3, 1, "_CPPv417esp_modem_destroyP15esp_modem_dce_t", "esp_modem_destroy"], [2, 4, 1, "_CPPv417esp_modem_destroyP15esp_modem_dce_t", "esp_modem_destroy::dce"], [2, 6, 1, "_CPPv420esp_modem_dte_config", "esp_modem_dte_config"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config15dte_buffer_sizeE", "esp_modem_dte_config::dte_buffer_size"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config16extension_configE", "esp_modem_dte_config::extension_config"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config13task_priorityE", "esp_modem_dte_config::task_priority"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config15task_stack_sizeE", "esp_modem_dte_config::task_stack_size"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config11uart_configE", "esp_modem_dte_config::uart_config"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config10vfs_configE", "esp_modem_dte_config::vfs_config"], [2, 5, 1, "_CPPv422esp_modem_dte_config_t", "esp_modem_dte_config_t"], [2, 2, 1, "_CPPv421esp_modem_flow_ctrl_t", "esp_modem_flow_ctrl_t"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE", "esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_HW"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE", "esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_NONE"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE", "esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_SW"], [2, 3, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status"], [2, 4, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status::bcl"], [2, 4, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status::bcs"], [2, 4, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status::voltage"], [2, 3, 1, "_CPPv418esp_modem_get_imeiPc", "esp_modem_get_imei"], [2, 4, 1, "_CPPv418esp_modem_get_imeiPc", "esp_modem_get_imei::imei"], [2, 3, 1, "_CPPv418esp_modem_get_imsiPc", "esp_modem_get_imsi"], [2, 4, 1, "_CPPv418esp_modem_get_imsiPc", "esp_modem_get_imsi::imsi"], [2, 3, 1, "_CPPv425esp_modem_get_module_namePc", "esp_modem_get_module_name"], [2, 4, 1, "_CPPv425esp_modem_get_module_namePc", "esp_modem_get_module_name::name"], [2, 3, 1, "_CPPv438esp_modem_get_network_attachment_statePi", "esp_modem_get_network_attachment_state"], [2, 4, 1, "_CPPv438esp_modem_get_network_attachment_statePi", "esp_modem_get_network_attachment_state::state"], [2, 3, 1, "_CPPv433esp_modem_get_network_system_modePi", "esp_modem_get_network_system_mode"], [2, 4, 1, "_CPPv433esp_modem_get_network_system_modePi", "esp_modem_get_network_system_mode::mode"], [2, 3, 1, "_CPPv427esp_modem_get_operator_namePcPi", "esp_modem_get_operator_name"], [2, 4, 1, "_CPPv427esp_modem_get_operator_namePcPi", "esp_modem_get_operator_name::act"], [2, 4, 1, "_CPPv427esp_modem_get_operator_namePcPi", "esp_modem_get_operator_name::name"], [2, 3, 1, "_CPPv425esp_modem_get_radio_statePi", "esp_modem_get_radio_state"], [2, 4, 1, "_CPPv425esp_modem_get_radio_statePi", "esp_modem_get_radio_state::state"], [2, 3, 1, "_CPPv428esp_modem_get_signal_qualityPiPi", "esp_modem_get_signal_quality"], [2, 4, 1, "_CPPv428esp_modem_get_signal_qualityPiPi", "esp_modem_get_signal_quality::ber"], [2, 4, 1, "_CPPv428esp_modem_get_signal_qualityPiPi", "esp_modem_get_signal_quality::rssi"], [2, 3, 1, "_CPPv417esp_modem_hang_upv", "esp_modem_hang_up"], [2, 3, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new"], [2, 4, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new::dce_config"], [2, 4, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new::dte_config"], [2, 4, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new::netif"], [2, 3, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::dce_config"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::dte_config"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::module"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::netif"], [2, 3, 1, "_CPPv420esp_modem_power_downv", "esp_modem_power_down"], [2, 3, 1, "_CPPv418esp_modem_read_pinPb", "esp_modem_read_pin"], [2, 4, 1, "_CPPv418esp_modem_read_pinPb", "esp_modem_read_pin::pin_ok"], [2, 3, 1, "_CPPv415esp_modem_resetv", "esp_modem_reset"], [2, 3, 1, "_CPPv426esp_modem_resume_data_modev", "esp_modem_resume_data_mode"], [2, 3, 1, "_CPPv418esp_modem_send_smsPKcPKc", "esp_modem_send_sms"], [2, 4, 1, "_CPPv418esp_modem_send_smsPKcPKc", "esp_modem_send_sms::message"], [2, 4, 1, "_CPPv418esp_modem_send_smsPKcPKc", "esp_modem_send_sms::number"], [2, 3, 1, "_CPPv418esp_modem_set_baudi", "esp_modem_set_baud"], [2, 4, 1, "_CPPv418esp_modem_set_baudi", "esp_modem_set_baud::baud"], [2, 3, 1, "_CPPv418esp_modem_set_cmuxv", "esp_modem_set_cmux"], [2, 3, 1, "_CPPv426esp_modem_set_command_modev", "esp_modem_set_command_mode"], [2, 3, 1, "_CPPv423esp_modem_set_data_modev", "esp_modem_set_data_mode"], [2, 3, 1, "_CPPv418esp_modem_set_echoKb", "esp_modem_set_echo"], [2, 4, 1, "_CPPv418esp_modem_set_echoKb", "esp_modem_set_echo::echo_on"], [2, 3, 1, "_CPPv426esp_modem_set_flow_controlii", "esp_modem_set_flow_control"], [2, 4, 1, "_CPPv426esp_modem_set_flow_controlii", "esp_modem_set_flow_control::dce_flow"], [2, 4, 1, "_CPPv426esp_modem_set_flow_controlii", "esp_modem_set_flow_control::dte_flow"], [2, 3, 1, "_CPPv429esp_modem_set_gnss_power_modei", "esp_modem_set_gnss_power_mode"], [2, 4, 1, "_CPPv429esp_modem_set_gnss_power_modei", "esp_modem_set_gnss_power_mode::mode"], [2, 3, 1, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t", "esp_modem_set_mode"], [2, 4, 1, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t", "esp_modem_set_mode::dce"], [2, 4, 1, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t", "esp_modem_set_mode::mode"], [2, 3, 1, "_CPPv438esp_modem_set_network_attachment_statei", "esp_modem_set_network_attachment_state"], [2, 4, 1, "_CPPv438esp_modem_set_network_attachment_statei", "esp_modem_set_network_attachment_state::state"], [2, 3, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands"], [2, 4, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands::bands"], [2, 4, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands::mode"], [2, 4, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands::size"], [2, 3, 1, "_CPPv426esp_modem_set_network_modei", "esp_modem_set_network_mode"], [2, 4, 1, "_CPPv426esp_modem_set_network_modei", "esp_modem_set_network_mode::mode"], [2, 3, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator"], [2, 4, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator::format"], [2, 4, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator::mode"], [2, 4, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator::oper"], [2, 3, 1, "_CPPv425esp_modem_set_pdp_contextP22esp_modem_PdpContext_t", "esp_modem_set_pdp_context"], [2, 4, 1, "_CPPv425esp_modem_set_pdp_contextP22esp_modem_PdpContext_t", "esp_modem_set_pdp_context::p1"], [2, 3, 1, "_CPPv417esp_modem_set_pinPKc", "esp_modem_set_pin"], [2, 4, 1, "_CPPv417esp_modem_set_pinPKc", "esp_modem_set_pin::pin"], [2, 3, 1, "_CPPv428esp_modem_set_preferred_modei", "esp_modem_set_preferred_mode"], [2, 4, 1, "_CPPv428esp_modem_set_preferred_modei", "esp_modem_set_preferred_mode::mode"], [2, 3, 1, "_CPPv425esp_modem_set_radio_statei", "esp_modem_set_radio_state"], [2, 4, 1, "_CPPv425esp_modem_set_radio_statei", "esp_modem_set_radio_state::state"], [2, 3, 1, "_CPPv427esp_modem_sms_character_setv", "esp_modem_sms_character_set"], [2, 3, 1, "_CPPv422esp_modem_sms_txt_modeKb", "esp_modem_sms_txt_mode"], [2, 4, 1, "_CPPv422esp_modem_sms_txt_modeKb", "esp_modem_sms_txt_mode::txt"], [2, 3, 1, "_CPPv423esp_modem_store_profilev", "esp_modem_store_profile"], [2, 3, 1, "_CPPv414esp_modem_syncv", "esp_modem_sync"], [2, 6, 1, "_CPPv426esp_modem_uart_term_config", "esp_modem_uart_term_config"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9baud_rateE", "esp_modem_uart_term_config::baud_rate"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config10cts_io_numE", "esp_modem_uart_term_config::cts_io_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9data_bitsE", "esp_modem_uart_term_config::data_bits"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config16event_queue_sizeE", "esp_modem_uart_term_config::event_queue_size"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config12flow_controlE", "esp_modem_uart_term_config::flow_control"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config6parityE", "esp_modem_uart_term_config::parity"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config8port_numE", "esp_modem_uart_term_config::port_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config10rts_io_numE", "esp_modem_uart_term_config::rts_io_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config14rx_buffer_sizeE", "esp_modem_uart_term_config::rx_buffer_size"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9rx_io_numE", "esp_modem_uart_term_config::rx_io_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config10source_clkE", "esp_modem_uart_term_config::source_clk"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9stop_bitsE", "esp_modem_uart_term_config::stop_bits"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config14tx_buffer_sizeE", "esp_modem_uart_term_config::tx_buffer_size"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9tx_io_numE", "esp_modem_uart_term_config::tx_io_num"], [2, 6, 1, "_CPPv425esp_modem_vfs_term_config", "esp_modem_vfs_term_config"], [2, 8, 1, "_CPPv4N25esp_modem_vfs_term_config7deleterE", "esp_modem_vfs_term_config::deleter"], [2, 8, 1, "_CPPv4N25esp_modem_vfs_term_config2fdE", "esp_modem_vfs_term_config::fd"], [2, 8, 1, "_CPPv4N25esp_modem_vfs_term_config8resourceE", "esp_modem_vfs_term_config::resource"], [7, 3, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::bcl"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::bcs"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::t"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::voltage"], [7, 5, 1, "_CPPv411got_line_cb", "got_line_cb"], [7, 2, 1, "_CPPv410modem_mode", "modem_mode"], [7, 1, 1, "_CPPv4N10modem_mode9CMUX_MODEE", "modem_mode::CMUX_MODE"], [7, 1, 1, "_CPPv4N10modem_mode12COMMAND_MODEE", "modem_mode::COMMAND_MODE"], [7, 1, 1, "_CPPv4N10modem_mode9DATA_MODEE", "modem_mode::DATA_MODE"], [7, 1, 1, "_CPPv4N10modem_mode5UNDEFE", "modem_mode::UNDEF"], [7, 3, 1, "_CPPv418power_down_sim70xxP13CommandableIf", "power_down_sim70xx"], [7, 4, 1, "_CPPv418power_down_sim70xxP13CommandableIf", "power_down_sim70xx::t"], [7, 3, 1, "_CPPv418power_down_sim76xxP13CommandableIf", "power_down_sim76xx"], [7, 4, 1, "_CPPv418power_down_sim76xxP13CommandableIf", "power_down_sim76xx::t"], [7, 3, 1, "_CPPv417power_down_sim8xxP13CommandableIf", "power_down_sim8xx"], [7, 4, 1, "_CPPv417power_down_sim8xxP13CommandableIf", "power_down_sim8xx::t"], [7, 3, 1, "_CPPv420set_data_mode_sim8xxP13CommandableIf", "set_data_mode_sim8xx"], [7, 4, 1, "_CPPv420set_data_mode_sim8xxP13CommandableIf", "set_data_mode_sim8xx::t"], [7, 3, 1, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi", "set_gnss_power_mode_sim76xx"], [7, 4, 1, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi", "set_gnss_power_mode_sim76xx::mode"], [7, 4, 1, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi", "set_gnss_power_mode_sim76xx::t"], [7, 3, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::bands"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::mode"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::size"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::t"], [7, 2, 1, "_CPPv414terminal_error", "terminal_error"], [7, 1, 1, "_CPPv4N14terminal_error15BUFFER_OVERFLOWE", "terminal_error::BUFFER_OVERFLOW"], [7, 1, 1, "_CPPv4N14terminal_error14CHECKSUM_ERRORE", "terminal_error::CHECKSUM_ERROR"], [7, 1, 1, "_CPPv4N14terminal_error11DEVICE_GONEE", "terminal_error::DEVICE_GONE"], [7, 1, 1, "_CPPv4N14terminal_error23UNEXPECTED_CONTROL_FLOWE", "terminal_error::UNEXPECTED_CONTROL_FLOW"]]}, "objtypes": {"0": "c:macro", "1": "cpp:enumerator", "2": "cpp:enum", "3": "cpp:function", "4": "cpp:functionParam", "5": "cpp:type", "6": "cpp:class", "7": "cpp:templateParam", "8": "cpp:member"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "enumerator", "C++ enumerator"], "2": ["cpp", "enum", "C++ enum"], "3": ["cpp", "function", "C++ function"], "4": ["cpp", "functionParam", "C++ function parameter"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "class", "C++ class"], "7": ["cpp", "templateParam", "C++ template parameter"], "8": ["cpp", "member", "C++ member"]}, "titleterms": {"esp": [0, 1, 5], "modem": [0, 1, 2, 3, 5, 7], "compon": 0, "dce": [0, 1, 3, 6, 7], "dte": [0, 3, 7], "ppp": 0, "netif": [0, 7], "modul": [0, 1, 7], "us": [0, 1], "case": [0, 1], "extens": 0, "cmux": [0, 6, 7], "": 0, "other": 0, "devic": [0, 7], "advanc": 1, "custom": 1, "instanti": 1, "factori": 1, "creat": [1, 3], "new": [1, 7], "commun": 1, "interfac": [1, 7], "c": [2, 3], "api": [2, 3], "document": [2, 3], "lifecycl": 2, "command": [2, 3, 7], "configur": 2, "structur": 2, "mode": 3, "switch": 3, "destroi": 3, "programm": 5, "manual": 5, "intern": [6, 7], "design": 6, "decis": 6, "collabor": 6, "model": 6, "termin": [6, 7], "inherit": 6, "implement": 7, "abstract": 7, "ad": 7, "gener": 7, "librari": 7, "type": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "advanced_api", "api_docs", "cxx_api_docs", "cxx_api_links", "index", "internal_design", "internal_docs"], "filenames": ["README.md", "advanced_api.rst", "api_docs.rst", "cxx_api_docs.rst", "cxx_api_links.rst", "index.rst", "internal_design.md", "internal_docs.rst"], "titles": ["ESP MODEM", "Advanced esp-modem use cases", "C API Documentation", "C++ API Documentation", "<no title>", "ESP-MODEM Programmers manual", "Internal design", "DCE Internal implementation"], "terms": {"thi": [0, 1, 2, 7], "i": [0, 1, 2, 3, 6, 7], "commun": [0, 2, 3, 5, 7], "command": [0, 1, 5, 6], "mode": [0, 2, 5, 6, 7], "AT": [0, 1, 2, 3, 6, 7], "well": [0, 6, 7], "data": [0, 2, 3, 6, 7], "over": [0, 6], "pppo": 0, "protocol": [0, 7], "The": [0, 1, 2, 3, 6, 7], "model": [0, 1, 5], "equip": [0, 7], "object": [0, 1, 3, 7], "which": [0, 1, 2, 6, 7], "compos": [0, 6], "termin": [0, 1, 2, 5], "abstract": [0, 5, 6], "current": [0, 2, 7], "onli": [0, 1, 2, 6, 7], "uart": [0, 1, 2, 3, 6, 7], "implement": [0, 1, 2, 5, 6], "repres": [0, 1, 7], "network": [0, 1, 2, 3, 6, 7], "interfac": [0, 2, 3, 5, 6], "specif": [0, 1, 2, 3, 7], "its": [0, 2, 6, 7], "o": 0, "set_mod": [0, 7], "send_command": 0, "event": [0, 2], "basic": [0, 1, 2, 3, 6, 7], "oper": [0, 2, 7], "unit": [0, 7], "_": 0, "softwar": 0, "configur": [0, 1, 3, 5, 7], "media": 0, "defin": [0, 1, 2, 7], "librari": [0, 5], "support": [0, 1, 2, 7], "type": [0, 2, 5], "config": [0, 1, 2, 3, 7], "lwip": 0, "after": [0, 2, 7], "creat": [0, 2, 5, 7], "applic": [0, 1, 2, 3], "interact": 0, "issu": [0, 2], "switch": [0, 2, 5, 7], "between": [0, 7], "an": [0, 1, 2, 7], "physic": 0, "connect": [0, 1, 2, 7], "attach": [0, 2, 7], "sim800": [0, 1, 3, 7], "bg96": [0, 1, 3, 7], "sim7600": [0, 1, 3, 7], "user": [0, 1, 2, 7], "internet": 0, "via": [0, 7], "cellular": [0, 2, 7], "send": [0, 2, 3, 6, 7], "variou": 0, "e": [0, 1, 7], "g": [0, 1], "sm": [0, 2, 7], "typic": [0, 1, 2, 7], "regist": 0, "handler": 0, "receiv": [0, 7], "notif": 0, "avail": [0, 2, 6, 7], "ip": 0, "address": 0, "chang": 0, "common": [0, 1, 2, 6, 7], "ar": [0, 2, 3, 6, 7], "also": [0, 1, 2, 6, 7], "list": [0, 2, 7], "exampl": [0, 1], "pppos_client": 0, "simpl": [0, 2], "client": 0, "read": [0, 2, 6, 7], "some": [0, 6, 7], "properti": 0, "public": [0, 1, 2, 3, 7], "mqtt": 0, "broker": 0, "modem_consol": [0, 1], "exercis": 0, "all": [0, 1, 3, 7], "possibl": [0, 1], "consol": 0, "ap_to_pppo": 0, "focus": 0, "provid": [0, 1, 6, 7], "wifi": 0, "ap": 0, "forward": [0, 7], "packet": 0, "nat": 0, "from": [0, 1, 2, 6, 7], "virtual": [0, 1, 6, 7], "experiment": 0, "featur": 0, "allow": 0, "multipl": [0, 7], "design": [0, 5], "them": 0, "sole": [0, 7], "we": [0, 7], "modern": 0, "usb": 0, "spi": [0, 1], "ad": [0, 5], "new": [0, 2, 5, 6], "must": [0, 7], "have": [0, 3, 7], "requir": 0, "differ": [0, 1, 6, 7], "might": [0, 6], "mean": [0, 7], "class": [0, 1, 3, 6, 7], "deriv": [0, 1, 7], "genericmodul": [0, 1, 6, 7], "where": 0, "could": [0, 1, 6, 7], "add": [0, 6, 7], "modifi": 0, "exist": [0, 1, 7], "ones": 0, "chapter": [1, 7], "outlin": 1, "extens": [1, 5, 7], "compon": [1, 5, 7], "It": [1, 3, 7], "handl": [1, 2, 6], "mani": 1, "wai": [1, 7], "build": [1, 7], "top": 1, "gener": [1, 2, 3, 5, 6], "share": [1, 3, 7], "uniqu": [1, 3, 7], "vanilla": 1, "pointer": [1, 2, 7], "templat": [1, 3, 6, 7], "dce_t": [1, 3, 7], "one": [1, 7], "function": [1, 2, 3, 7], "group": [1, 2, 3, 7], "esp_modem_dce_factori": 1, "enum": [1, 2, 7], "modemtyp": 1, "choic": 1, "when": [1, 6], "valu": [1, 2, 7], "enumer": [1, 2, 7], "default": [1, 2, 3, 7], "most": [1, 2, 6, 7], "appli": 1, "sim7070": [1, 3, 7], "sim7000": [1, 3, 7], "bg69": 1, "factoryhelp": 1, "includ": [1, 2, 7], "hpp": [1, 7], "helper": [1, 7], "either": [1, 3, 7], "plain": [1, 2], "shared_ptr": [1, 3, 7], "unique_ptr": [1, 3, 7], "typenam": 1, "t_modul": 1, "creator": 1, "dte": [1, 2, 5, 6], "netif": [1, 2, 3, 5, 6], "throw": [1, 6], "base": [1, 3, 7], "suppli": [1, 2, 7], "app": [1, 2], "arg": 1, "inlin": [1, 3, 7], "std": [1, 3, 7], "build_uniqu": 1, "const": [1, 2, 3, 7], "cfg": 1, "chosen": [1, 2], "paramet": [1, 2, 3, 7], "argument": [1, 7], "builder": 1, "constructor": [1, 6], "esp_modem": [1, 3, 4, 7], "structur": [1, 5, 7], "esp_modem_dte_config": [1, 2, 3, 7], "ppp": [1, 2, 5, 6, 7], "return": [1, 2, 3, 7], "success": [1, 2, 3, 7], "static": 1, "necessari": [1, 3, 7], "need": [1, 2, 7], "devic": [1, 2, 5, 6], "ani": 1, "In": 1, "recommend": 1, "order": [1, 7], "appropri": [1, 7], "dce_factori": 1, "pleas": [1, 7], "refer": [1, 3, 7], "note": [1, 2], "trivial": 1, "overrid": [1, 7], "demonstr": 1, "purpos": 1, "unsupport": 1, "i2c": 1, "two": [1, 2, 7], "step": 1, "correspond": 1, "should": [1, 2, 7], "io": 1, "method": [1, 6, 7], "veri": 2, "consist": [2, 3, 7], "part": 2, "workflow": [2, 3], "dce": [2, 4, 5], "instanc": [2, 7], "us": [2, 3, 5, 6, 7], "esp_modem_new": 2, "call": [2, 7], "esp_modem_set_mod": 2, "perform": 2, "desir": [2, 7], "standard": 2, "unrel": 2, "esp": [2, 7], "option": 2, "back": [2, 7], "again": 2, "destroi": [2, 5], "sing": 2, "esp_modem_destroi": 2, "These": 2, "set": [2, 3, 7], "work": [2, 7], "esp_modem_c_api": 2, "typedef": [2, 3, 7], "esp_modem_dce_mod": 2, "esp_modem_dce_mode_t": 2, "esp_modem_dce_devic": 2, "esp_modem_dce_device_t": 2, "esp_modem_mode_command": 2, "startup": 2, "esp_modem_mode_data": 2, "esp_modem_mode_cmux": 2, "multiplex": [2, 6, 7], "esp_modem_dce_genet": 2, "esp_modem_dce_sim7600": 2, "esp_modem_dce_sim7070": 2, "esp_modem_dce_sim7000": 2, "esp_modem_dce_bg96": 2, "esp_modem_dce_sim800": 2, "esp_modem_dce_t": 2, "esp_modem_dte_config_t": 2, "dte_config": [2, 3], "esp_modem_dce_config_t": 2, "dce_config": [2, 3], "esp_netif_t": [2, 3], "now": 2, "null": 2, "failur": [2, 3, 6], "esp_modem_new_dev": 2, "modul": [2, 3, 5, 6], "void": [2, 3, 7], "": [2, 3, 5, 7], "esp_err_t": 2, "esp_ok": 2, "esp_fail": 2, "actual": [2, 7], "textual": 2, "char": [2, 7], "expect": 2, "output": [2, 7], "point": [2, 7], "alloc": [2, 6], "space": 2, "least": 2, "esp_modem_c_api_str_max": 2, "64": 2, "byte": [2, 7], "truncat": 2, "size": [2, 7], "command_result": [2, 7], "esp_modem_sync": 2, "initi": [2, 3, 6, 7], "sequenc": [2, 7], "sync": [2, 3, 4, 7], "up": [2, 3, 7], "ok": [2, 7], "fail": [2, 7], "timeout": [2, 7], "esp_modem_get_operator_nam": 2, "name": [2, 7], "int": [2, 7], "act": [2, 7], "out": [2, 3, 7], "access": [2, 7], "technologi": [2, 7], "esp_modem_store_profil": 2, "store": [2, 7], "profil": [2, 7], "esp_modem_set_pin": 2, "pin": [2, 7], "code": [2, 6, 7], "esp_modem_at": 2, "cmd": [2, 7], "execut": [2, 7], "string": [2, 7], "millisecond": [2, 7], "esp_modem_read_pin": 2, "bool": [2, 7], "pin_ok": [2, 7], "check": [2, 7], "sim": [2, 7], "true": [2, 7], "card": [2, 7], "doesn": [2, 3, 7], "t": [2, 3, 7], "unlock": [2, 7], "esp_modem_set_echo": 2, "echo_on": [2, 7], "echo": [2, 7], "repeat": [2, 7], "esp_modem_sms_txt_mod": 2, "txt": [2, 7], "pdu": [2, 7], "esp_modem_sms_character_set": 2, "gsm": [2, 7], "charact": [2, 7], "esp_modem_send_sm": 2, "number": [2, 6, 7], "messag": [2, 7], "phone": [2, 7], "text": [2, 7], "sent": [2, 7], "esp_modem_resume_data_mod": 2, "resum": [2, 7], "wa": [2, 7], "temporarili": [2, 7], "suspend": [2, 7], "esp_modem_set_pdp_context": 2, "esp_modem_pdpcontext_t": 2, "p1": [2, 7], "php": [2, 7], "context": [2, 7], "pdp": [2, 7], "struct": [2, 7], "setup": [2, 7], "esp_modem_set_command_mod": 2, "esp_modem_set_cmux": 2, "cmux": [2, 5], "esp_modem_get_imsi": 2, "imsi": [2, 7], "esp_modem_get_imei": 2, "imei": [2, 7], "esp_modem_get_module_nam": 2, "esp_modem_set_data_mod": 2, "esp_modem_get_signal_qu": 2, "rssi": [2, 7], "ber": [2, 7], "get": [2, 3, 7], "signal": [2, 7], "qualiti": [2, 7], "strength": [2, 7], "indic": [2, 7], "channel": [2, 7], "bit": [2, 7], "error": [2, 3, 6, 7], "rate": [2, 7], "esp_modem_set_flow_control": 2, "dce_flow": [2, 7], "dte_flow": [2, 7], "hw": [2, 7], "control": [2, 7], "flow": [2, 7], "0": [2, 7], "none": [2, 7], "2": [2, 7], "rt": [2, 7], "ct": [2, 7], "esp_modem_hang_up": 2, "hang": [2, 7], "esp_modem_get_battery_statu": 2, "voltag": [2, 7], "bc": [2, 7], "bcl": [2, 7], "level": [2, 7], "power": [2, 7], "circuitri": [2, 7], "statu": [2, 7], "mv": [2, 7], "charg": [2, 7], "1": [2, 7], "Not": [2, 7], "done": [2, 7], "100": [2, 7], "batteri": [2, 7], "capac": [2, 7], "esp_modem_power_down": 2, "down": [2, 6, 7], "esp_modem_reset": 2, "reset": [2, 3, 4, 7], "esp_modem_set_baud": 2, "baud": [2, 7], "baudrat": [2, 7], "esp_modem_set_oper": 2, "format": [2, 7], "forc": [2, 7], "attempt": [2, 7], "automat": [2, 3, 7], "manual": [2, 7], "deregist": [2, 7], "3": [2, 7], "4": [2, 7], "fallback": [2, 7], "what": [2, 7], "given": [2, 7], "long": [2, 6, 7], "short": [2, 7], "numer": [2, 7], "esp_modem_set_network_attachment_st": 2, "state": [2, 7], "detach": [2, 7], "gpr": [2, 7], "servic": [2, 7], "esp_modem_get_network_attachment_st": 2, "esp_modem_set_radio_st": 2, "radio": [2, 7], "full": [2, 7], "minimum": [2, 7], "esp_modem_get_radio_st": 2, "esp_modem_set_network_mod": 2, "prefer": [2, 7], "esp_modem_set_preferred_mod": 2, "cat": [2, 7], "m": [2, 7], "nb": [2, 7], "iot": [2, 7], "select": [2, 7], "esp_modem_set_network_band": 2, "band": [2, 7], "esp_modem_get_network_system_mod": 2, "show": [2, 7], "system": [2, 7], "esp_modem_set_gnss_power_mod": 2, "gnss": [2, 7], "off": [2, 6, 7], "esp_modem_config": 2, "esp_modem_dte_default_config": 2, "esp_modem_dce_default_config": 2, "apn": 2, "esp_modem_dce_config": [2, 3], "esp_modem_flow_ctrl_t": 2, "esp_modem_flow_control_non": 2, "esp_modem_flow_control_sw": 2, "esp_modem_flow_control_hw": 2, "esp_modem_uart_term_config": 2, "h": 2, "member": 2, "uart_port_t": 2, "port_num": 2, "port": 2, "uart_word_length_t": 2, "data_bit": 2, "uart_stop_bits_t": 2, "stop_bit": 2, "stop": [2, 7], "uart_parity_t": 2, "pariti": 2, "flow_control": 2, "uart_sclk_t": 2, "source_clk": 2, "sourc": [2, 7], "clock": 2, "baud_rat": 2, "tx_io_num": 2, "txd": 2, "rx_io_num": 2, "rxd": 2, "rts_io_num": 2, "cts_io_num": 2, "rx_buffer_s": 2, "rx": 2, "buffer": [2, 7], "tx_buffer_s": 2, "tx": 2, "event_queue_s": 2, "queue": 2, "esp_modem_vfs_term_config": 2, "vf": [2, 3], "fd": 2, "alreadi": 2, "file": [2, 7], "descriptor": 2, "delet": 2, "esp_modem_vfs_resourc": 2, "custom": [2, 5, 7], "close": [2, 7], "resourc": 2, "clenaup": 2, "complet": [2, 7], "sw": 2, "follow": [2, 7], "portion": 2, "dedic": 2, "size_t": [2, 7], "dte_buffer_s": 2, "uint32_t": [2, 7], "task_stack_s": 2, "task": 2, "stack": 2, "unsign": 2, "task_prior": 2, "prioriti": 2, "uart_config": 2, "vfs_config": 2, "extension_config": 2, "logic": [2, 7], "similar": 3, "construct": [3, 7], "esp_modem_init_dt": 3, "create_uart_dt": 3, "ptr": [3, 7], "nullptr": 3, "due": 3, "insuffici": 3, "memori": 3, "wrong": 3, "except": [3, 6], "disabl": 3, "abort": [3, 6], "create_vfs_dt": 3, "esp_modem_init_dc": 3, "create_sim7600_dc": 3, "create_sim7070_dc": 3, "create_sim7000_dc": 3, "create_sim800_dc": 3, "create_bg96_dc": 3, "create_generic_dc": 3, "specificmodul": [3, 6, 7], "respons": [3, 7], "transact": [3, 7], "relat": [3, 7], "consequ": [3, 7], "synergi": [3, 7], "aggreg": [3, 7], "set_data": [3, 7], "get_operator_nam": [3, 4, 7], "store_profil": [3, 4, 7], "set_pin": [3, 4, 7], "read_pin": [3, 4, 7], "set_echo": [3, 4, 7], "sms_txt_mode": [3, 4, 7], "sms_character_set": [3, 4, 7], "send_sm": [3, 4, 7], "resume_data_mod": [3, 4, 7], "set_pdp_context": [3, 4, 7], "set_command_mod": [3, 4, 7], "set_cmux": [3, 4, 7], "get_imsi": [3, 4, 7], "get_imei": [3, 4, 7], "get_module_nam": [3, 4, 7], "set_data_mod": [3, 4, 7], "get_signal_qu": [3, 4, 7], "set_flow_control": [3, 4, 7], "hang_up": [3, 4, 7], "get_battery_statu": [3, 4, 7], "power_down": [3, 4, 7], "set_baud": [3, 4, 7], "set_oper": [3, 4, 7], "set_network_attachment_st": [3, 4, 7], "get_network_attachment_st": [3, 4, 7], "set_radio_st": [3, 4, 7], "get_radio_st": [3, 4, 7], "set_network_mod": [3, 4, 7], "set_preferred_mod": [3, 4, 7], "set_network_band": [3, 4, 7], "get_network_system_mod": [3, 4, 7], "set_gnss_power_mod": [3, 4, 7], "explicitli": [3, 7], "simpli": 3, "clean": 3, "goe": 3, "block": [3, 6, 7], "scope": 3, "brief": 5, "intro": 5, "case": [5, 6], "other": [5, 7], "c": [5, 6, 7], "lifecycl": 5, "api": [5, 6, 7], "advanc": [5, 7], "instanti": 5, "factori": [5, 7], "intern": 5, "decis": 5, "collabor": 5, "inherit": 5, "addit": [6, 7], "macro": [6, 7], "wrapper": 6, "try": 6, "catch": 6, "easier": 6, "ON": 6, "init": [6, 7], "treat": 6, "runtim": [6, 7], "program": 6, "break": 6, "more": 6, "privat": 6, "modem": 6, "special": [6, 7], "implant": 6, "minim": 6, "moduleif": [6, 7], "oonli": 6, "compil": 6, "time": [6, 7], "without": [6, 7], "diagram": 6, "describ": [6, 7], "how": 6, "can": [6, 7], "write": [6, 7], "callback": [6, 7], "driver": 6, "below": 6, "depict": 6, "idea": 6, "cmuxinst": [6, 7], "arbitrari": 6, "same": [6, 7], "consum": [6, 7], "origin": [6, 7], "detail": 7, "descript": 7, "turn": 7, "thee": 7, "develop": 7, "would": 7, "explain": 7, "section": 7, "esp_modem_dc": 7, "definit": 7, "dce_mod": 7, "parent": 7, "pdpcontext": 7, "talk": 7, "besid": 7, "document": 7, "esp_modem_dt": 7, "commandableif": 7, "explicit": 7, "uint8_t": 7, "len": 7, "underli": 7, "written": 7, "d": 7, "payload": 7, "length": 7, "set_read_cb": 7, "f": 7, "valid": 7, "set_error_cb": 7, "terminal_error": 7, "err": 7, "modem_mod": 7, "got_line_cb": 7, "got_lin": 7, "time_m": 7, "respond": 7, "line": 7, "wait": 7, "answer": 7, "separ": 7, "abov": 7, "esp_modem_termin": 7, "buffer_overflow": 7, "checksum_error": 7, "unexpected_control_flow": 7, "device_gon": 7, "compli": 7, "subclass": 7, "maximum": 7, "esp_modem_cmux": 7, "cmux_stat": 7, "machin": 7, "header": 7, "footer": 7, "recov": 7, "itself": 7, "usabl": 7, "deinit": 7, "pair": 7, "unique_buff": 7, "eject": 7, "so": 7, "thei": 7, "tradit": 7, "inst": 7, "index": 7, "esp_modem_netif": 7, "layer": 7, "glue": 7, "start": 7, "wait_until_ppp_exit": 7, "until": 7, "esp_modem_modul": 7, "esp_modem_dce_modul": 7, "just": 7, "setup_data_mod": 7, "mandatori": 7, "abl": 7, "configure_pdp_context": 7, "new_pdp": 7, "simplifi": 7, "version": 7, "To": 7, "ha": 7, "declar": 7, "first": 7, "esp_modem_command_declar": 7, "inc": 7, "singl": 7, "cpp": 7, "therefor": 7, "care": 7, "taken": 7, "correctli": 7, "specifi": 7, "especi": 7, "keep": 7, "low": 7, "6": 7, "preprocessor": 7, "both": 7, "clariti": 7, "expand": 7, "pattern": 7, "int_in": 7, "input": 7, "integ": 7, "human": 7, "readabl": 7, "second": 7, "p2": 7, "etc": 7, "namespac": 7, "hold": 7, "esp_modem_dce_command": 7, "esp_modem_declare_dce_command": 7, "return_typ": 7, "num": 7, "get_battery_status_sim7xxx": 7, "set_gnss_power_mode_sim76xx": 7, "power_down_sim76xx": 7, "power_down_sim70xx": 7, "set_network_bands_sim76xx": 7, "power_down_sim8xx": 7, "set_data_mode_sim8xx": 7, "esp_modem_typ": 7, "undef": 7, "command_mod": 7, "8212": 7, "suppos": 7, "data_mod": 7, "cmux_mod": 7, "assign": 7, "result": 7, "successfulli": 7, "didn": 7, "timelin": 7, "elig": 7}, "objects": {"": [[2, 0, 1, "c.ESP_MODEM_DCE_DEFAULT_CONFIG", "ESP_MODEM_DCE_DEFAULT_CONFIG"], [7, 0, 1, "c.ESP_MODEM_DECLARE_DCE_COMMAND", "ESP_MODEM_DECLARE_DCE_COMMAND"], [2, 0, 1, "c.ESP_MODEM_DTE_DEFAULT_CONFIG", "ESP_MODEM_DTE_DEFAULT_CONFIG"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E", "ESP_MODEM_DCE_BG96"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE", "ESP_MODEM_DCE_GENETIC"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7000E", "ESP_MODEM_DCE_SIM7000"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7070E", "ESP_MODEM_DCE_SIM7070"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E", "ESP_MODEM_DCE_SIM7600"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E", "ESP_MODEM_DCE_SIM800"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE", "ESP_MODEM_FLOW_CONTROL_HW"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE", "ESP_MODEM_FLOW_CONTROL_NONE"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE", "ESP_MODEM_FLOW_CONTROL_SW"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_CMUXE", "ESP_MODEM_MODE_CMUX"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE", "ESP_MODEM_MODE_COMMAND"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE", "ESP_MODEM_MODE_DATA"], [1, 2, 1, "_CPPv49ModemType", "ModemType"], [1, 1, 1, "_CPPv4N9ModemType4BG96E", "ModemType::BG96"], [1, 1, 1, "_CPPv4N9ModemType13GenericModuleE", "ModemType::GenericModule"], [1, 1, 1, "_CPPv4N9ModemType7SIM7000E", "ModemType::SIM7000"], [1, 1, 1, "_CPPv4N9ModemType7SIM7070E", "ModemType::SIM7070"], [1, 1, 1, "_CPPv4N9ModemType7SIM7600E", "ModemType::SIM7600"], [1, 1, 1, "_CPPv4N9ModemType6SIM800E", "ModemType::SIM800"], [7, 2, 1, "_CPPv410cmux_state", "cmux_state"], [7, 1, 1, "_CPPv4N10cmux_state6FOOTERE", "cmux_state::FOOTER"], [7, 1, 1, "_CPPv4N10cmux_state6HEADERE", "cmux_state::HEADER"], [7, 1, 1, "_CPPv4N10cmux_state4INITE", "cmux_state::INIT"], [7, 1, 1, "_CPPv4N10cmux_state7PAYLOADE", "cmux_state::PAYLOAD"], [7, 1, 1, "_CPPv4N10cmux_state7RECOVERE", "cmux_state::RECOVER"], [7, 2, 1, "_CPPv414command_result", "command_result"], [7, 1, 1, "_CPPv4N14command_result4FAILE", "command_result::FAIL"], [7, 1, 1, "_CPPv4N14command_result2OKE", "command_result::OK"], [7, 1, 1, "_CPPv4N14command_result7TIMEOUTE", "command_result::TIMEOUT"], [3, 3, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce"], [3, 4, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce::config"], [3, 4, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce::dte"], [3, 4, 1, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_BG96_dce::netif"], [3, 3, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce"], [3, 4, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce::config"], [3, 4, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce::dte"], [3, 4, 1, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7000_dce::netif"], [3, 3, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce"], [3, 4, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce::config"], [3, 4, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce::dte"], [3, 4, 1, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7070_dce::netif"], [3, 3, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce"], [3, 4, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce::config"], [3, 4, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce::dte"], [3, 4, 1, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM7600_dce::netif"], [3, 3, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce"], [3, 4, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce::config"], [3, 4, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce::dte"], [3, 4, 1, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_SIM800_dce::netif"], [3, 3, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce"], [3, 4, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce::config"], [3, 4, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce::dte"], [3, 4, 1, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t", "create_generic_dce::netif"], [3, 3, 1, "_CPPv415create_uart_dtePK10dte_config", "create_uart_dte"], [3, 4, 1, "_CPPv415create_uart_dtePK10dte_config", "create_uart_dte::config"], [3, 3, 1, "_CPPv414create_vfs_dtePK10dte_config", "create_vfs_dte"], [3, 4, 1, "_CPPv414create_vfs_dtePK10dte_config", "create_vfs_dte::config"], [3, 5, 1, "_CPPv410dce_config", "dce_config"], [3, 5, 1, "_CPPv410dte_config", "dte_config"], [7, 6, 1, "_CPPv4N9esp_modem4BG96E", "esp_modem::BG96"], [7, 6, 1, "_CPPv4N9esp_modem4CMuxE", "esp_modem::CMux"], [7, 3, 1, "_CPPv4N9esp_modem4CMux6deinitEv", "esp_modem::CMux::deinit"], [7, 3, 1, "_CPPv4N9esp_modem4CMux6detachEv", "esp_modem::CMux::detach"], [7, 3, 1, "_CPPv4N9esp_modem4CMux4initEv", "esp_modem::CMux::init"], [7, 3, 1, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::CMux::set_read_cb"], [7, 4, 1, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::CMux::set_read_cb::f"], [7, 4, 1, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::CMux::set_read_cb::inst"], [7, 3, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write"], [7, 4, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write::data"], [7, 4, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write::i"], [7, 4, 1, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t", "esp_modem::CMux::write::len"], [7, 6, 1, "_CPPv4N9esp_modem12CMuxInstanceE", "esp_modem::CMuxInstance"], [7, 3, 1, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t", "esp_modem::CMuxInstance::read"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t", "esp_modem::CMuxInstance::read::data"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t", "esp_modem::CMuxInstance::read::len"], [7, 3, 1, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t", "esp_modem::CMuxInstance::write"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t", "esp_modem::CMuxInstance::write::data"], [7, 4, 1, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t", "esp_modem::CMuxInstance::write::len"], [7, 6, 1, "_CPPv4N9esp_modem13CommandableIfE", "esp_modem::CommandableIf"], [7, 3, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::command"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::got_line"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::separator"], [7, 4, 1, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc", "esp_modem::CommandableIf::command::time_ms"], [7, 6, 1, "_CPPv4N9esp_modem3DCEE", "esp_modem::DCE"], [7, 3, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at"], [7, 4, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at::cmd"], [7, 4, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at::out"], [7, 4, 1, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi", "esp_modem::DCE::at::timeout"], [7, 3, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status::bcl"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status::bcs"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi", "esp_modem::DCE::get_battery_status::voltage"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE", "esp_modem::DCE::get_imei"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE", "esp_modem::DCE::get_imei::imei"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE", "esp_modem::DCE::get_imsi"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE", "esp_modem::DCE::get_imsi::imsi"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE", "esp_modem::DCE::get_module_name"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE", "esp_modem::DCE::get_module_name::name"], [7, 3, 1, "_CPPv4N9esp_modem3DCE28get_network_attachment_stateERi", "esp_modem::DCE::get_network_attachment_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE28get_network_attachment_stateERi", "esp_modem::DCE::get_network_attachment_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE23get_network_system_modeERi", "esp_modem::DCE::get_network_system_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE23get_network_system_modeERi", "esp_modem::DCE::get_network_system_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi", "esp_modem::DCE::get_operator_name"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi", "esp_modem::DCE::get_operator_name::act"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi", "esp_modem::DCE::get_operator_name::name"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15get_radio_stateERi", "esp_modem::DCE::get_radio_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15get_radio_stateERi", "esp_modem::DCE::get_radio_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi", "esp_modem::DCE::get_signal_quality"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi", "esp_modem::DCE::get_signal_quality::ber"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi", "esp_modem::DCE::get_signal_quality::rssi"], [7, 3, 1, "_CPPv4N9esp_modem3DCE7hang_upEv", "esp_modem::DCE::hang_up"], [7, 3, 1, "_CPPv4N9esp_modem3DCE10power_downEv", "esp_modem::DCE::power_down"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8read_pinERb", "esp_modem::DCE::read_pin"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8read_pinERb", "esp_modem::DCE::read_pin::pin_ok"], [7, 3, 1, "_CPPv4N9esp_modem3DCE5resetEv", "esp_modem::DCE::reset"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16resume_data_modeEv", "esp_modem::DCE::resume_data_mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE", "esp_modem::DCE::send_sms"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE", "esp_modem::DCE::send_sms::message"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE", "esp_modem::DCE::send_sms::number"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8set_baudEi", "esp_modem::DCE::set_baud"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8set_baudEi", "esp_modem::DCE::set_baud::baud"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8set_cmuxEv", "esp_modem::DCE::set_cmux"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16set_command_modeEv", "esp_modem::DCE::set_command_mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE13set_data_modeEv", "esp_modem::DCE::set_data_mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE8set_echoEKb", "esp_modem::DCE::set_echo"], [7, 4, 1, "_CPPv4N9esp_modem3DCE8set_echoEKb", "esp_modem::DCE::set_echo::echo_on"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16set_flow_controlEii", "esp_modem::DCE::set_flow_control"], [7, 4, 1, "_CPPv4N9esp_modem3DCE16set_flow_controlEii", "esp_modem::DCE::set_flow_control::dce_flow"], [7, 4, 1, "_CPPv4N9esp_modem3DCE16set_flow_controlEii", "esp_modem::DCE::set_flow_control::dte_flow"], [7, 3, 1, "_CPPv4N9esp_modem3DCE19set_gnss_power_modeEi", "esp_modem::DCE::set_gnss_power_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE19set_gnss_power_modeEi", "esp_modem::DCE::set_gnss_power_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE28set_network_attachment_stateEi", "esp_modem::DCE::set_network_attachment_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE28set_network_attachment_stateEi", "esp_modem::DCE::set_network_attachment_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands::bands"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands::mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii", "esp_modem::DCE::set_network_bands::size"], [7, 3, 1, "_CPPv4N9esp_modem3DCE16set_network_modeEi", "esp_modem::DCE::set_network_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE16set_network_modeEi", "esp_modem::DCE::set_network_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator::format"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator::mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE", "esp_modem::DCE::set_operator::oper"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext", "esp_modem::DCE::set_pdp_context"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext", "esp_modem::DCE::set_pdp_context::p1"], [7, 3, 1, "_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE", "esp_modem::DCE::set_pin"], [7, 4, 1, "_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE", "esp_modem::DCE::set_pin::pin"], [7, 3, 1, "_CPPv4N9esp_modem3DCE18set_preferred_modeEi", "esp_modem::DCE::set_preferred_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE18set_preferred_modeEi", "esp_modem::DCE::set_preferred_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem3DCE15set_radio_stateEi", "esp_modem::DCE::set_radio_state"], [7, 4, 1, "_CPPv4N9esp_modem3DCE15set_radio_stateEi", "esp_modem::DCE::set_radio_state::state"], [7, 3, 1, "_CPPv4N9esp_modem3DCE17sms_character_setEv", "esp_modem::DCE::sms_character_set"], [7, 3, 1, "_CPPv4N9esp_modem3DCE12sms_txt_modeEKb", "esp_modem::DCE::sms_txt_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DCE12sms_txt_modeEKb", "esp_modem::DCE::sms_txt_mode::txt"], [7, 3, 1, "_CPPv4N9esp_modem3DCE13store_profileEv", "esp_modem::DCE::store_profile"], [7, 3, 1, "_CPPv4N9esp_modem3DCE4syncEv", "esp_modem::DCE::sync"], [7, 6, 1, "_CPPv4N9esp_modem8DCE_ModeE", "esp_modem::DCE_Mode"], [3, 6, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T"], [7, 6, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T"], [3, 7, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T::SpecificModule"], [7, 7, 1, "_CPPv4I0EN9esp_modem5DCE_TE", "esp_modem::DCE_T::SpecificModule"], [3, 3, 1, "_CPPv4N9esp_modem5DCE_T8set_dataEv", "esp_modem::DCE_T::set_data"], [7, 3, 1, "_CPPv4N9esp_modem5DCE_T8set_dataEv", "esp_modem::DCE_T::set_data"], [7, 6, 1, "_CPPv4N9esp_modem3DTEE", "esp_modem::DTE"], [7, 3, 1, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE", "esp_modem::DTE::DTE"], [7, 4, 1, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE", "esp_modem::DTE::DTE::config"], [7, 4, 1, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE", "esp_modem::DTE::DTE::t"], [7, 3, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command"], [7, 3, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command::command"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::command"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command::got_line"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::got_line"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::separator"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t", "esp_modem::DTE::command::time_ms"], [7, 4, 1, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc", "esp_modem::DTE::command::time_ms"], [7, 3, 1, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t", "esp_modem::DTE::read"], [7, 4, 1, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t", "esp_modem::DTE::read::d"], [7, 4, 1, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t", "esp_modem::DTE::read::len"], [7, 3, 1, "_CPPv4N9esp_modem3DTE12set_error_cbENSt8functionIFv14terminal_errorEEE", "esp_modem::DTE::set_error_cb"], [7, 4, 1, "_CPPv4N9esp_modem3DTE12set_error_cbENSt8functionIFv14terminal_errorEEE", "esp_modem::DTE::set_error_cb::f"], [7, 3, 1, "_CPPv4N9esp_modem3DTE8set_modeE10modem_mode", "esp_modem::DTE::set_mode"], [7, 4, 1, "_CPPv4N9esp_modem3DTE8set_modeE10modem_mode", "esp_modem::DTE::set_mode::m"], [7, 3, 1, "_CPPv4N9esp_modem3DTE11set_read_cbENSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::DTE::set_read_cb"], [7, 4, 1, "_CPPv4N9esp_modem3DTE11set_read_cbENSt8functionIFbP7uint8_t6size_tEEE", "esp_modem::DTE::set_read_cb::f"], [7, 3, 1, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t", "esp_modem::DTE::write"], [7, 4, 1, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t", "esp_modem::DTE::write::data"], [7, 4, 1, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t", "esp_modem::DTE::write::len"], [7, 6, 1, "_CPPv4N9esp_modem13GenericModuleE", "esp_modem::GenericModule"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::GenericModule"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::GenericModule::dte"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::GenericModule::pdp"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule21configure_pdp_contextENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::configure_pdp_context"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule21configure_pdp_contextENSt10unique_ptrI10PdpContextEE", "esp_modem::GenericModule::configure_pdp_context::new_pdp"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule17get_operator_nameERNSt6stringE", "esp_modem::GenericModule::get_operator_name"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule17get_operator_nameERNSt6stringE", "esp_modem::GenericModule::get_operator_name::name"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule8set_modeE10modem_mode", "esp_modem::GenericModule::set_mode"], [7, 4, 1, "_CPPv4N9esp_modem13GenericModule8set_modeE10modem_mode", "esp_modem::GenericModule::set_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem13GenericModule15setup_data_modeEv", "esp_modem::GenericModule::setup_data_mode"], [7, 6, 1, "_CPPv4N9esp_modem8ModuleIfE", "esp_modem::ModuleIf"], [7, 3, 1, "_CPPv4N9esp_modem8ModuleIf8set_modeE10modem_mode", "esp_modem::ModuleIf::set_mode"], [7, 4, 1, "_CPPv4N9esp_modem8ModuleIf8set_modeE10modem_mode", "esp_modem::ModuleIf::set_mode::mode"], [7, 3, 1, "_CPPv4N9esp_modem8ModuleIf15setup_data_modeEv", "esp_modem::ModuleIf::setup_data_mode"], [7, 6, 1, "_CPPv4N9esp_modem5NetifE", "esp_modem::Netif"], [7, 3, 1, "_CPPv4N9esp_modem5Netif5startEv", "esp_modem::Netif::start"], [7, 3, 1, "_CPPv4N9esp_modem5Netif4stopEv", "esp_modem::Netif::stop"], [7, 3, 1, "_CPPv4N9esp_modem5Netif20wait_until_ppp_exitsEv", "esp_modem::Netif::wait_until_ppp_exits"], [7, 6, 1, "_CPPv4N9esp_modem10PdpContextE", "esp_modem::PdpContext"], [7, 6, 1, "_CPPv4N9esp_modem7SIM7000E", "esp_modem::SIM7000"], [7, 6, 1, "_CPPv4N9esp_modem7SIM7070E", "esp_modem::SIM7070"], [7, 6, 1, "_CPPv4N9esp_modem7SIM7600E", "esp_modem::SIM7600"], [7, 6, 1, "_CPPv4N9esp_modem6SIM800E", "esp_modem::SIM800"], [7, 6, 1, "_CPPv4N9esp_modem8TerminalE", "esp_modem::Terminal"], [7, 3, 1, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t", "esp_modem::Terminal::read"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t", "esp_modem::Terminal::read::data"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t", "esp_modem::Terminal::read::len"], [7, 3, 1, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t", "esp_modem::Terminal::write"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t", "esp_modem::Terminal::write::data"], [7, 4, 1, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t", "esp_modem::Terminal::write::len"], [1, 6, 1, "_CPPv4I0EN9esp_modem11dce_factory7CreatorE", "esp_modem::dce_factory::Creator"], [1, 7, 1, "_CPPv4I0EN9esp_modem11dce_factory7CreatorE", "esp_modem::dce_factory::Creator::T_Module"], [1, 6, 1, "_CPPv4N9esp_modem11dce_factory7FactoryE", "esp_modem::dce_factory::Factory"], [1, 3, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::Args"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::T_Module"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::args"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build::cfg"], [1, 3, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique"], [1, 3, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::Args"], [1, 7, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::Args"], [1, 7, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::T_Module"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::args"], [1, 4, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::args"], [1, 4, 1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::cfg"], [1, 4, 1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args", "esp_modem::dce_factory::Factory::build_unique::cfg"], [1, 6, 1, "_CPPv4N9esp_modem11dce_factory13FactoryHelperE", "esp_modem::dce_factory::FactoryHelper"], [2, 3, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at"], [2, 4, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at::cmd"], [2, 4, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at::out"], [2, 4, 1, "_CPPv412esp_modem_atPKcPci", "esp_modem_at::timeout"], [2, 6, 1, "_CPPv420esp_modem_dce_config", "esp_modem_dce_config"], [2, 8, 1, "_CPPv4N20esp_modem_dce_config3apnE", "esp_modem_dce_config::apn"], [2, 5, 1, "_CPPv422esp_modem_dce_config_t", "esp_modem_dce_config_t"], [2, 2, 1, "_CPPv420esp_modem_dce_device", "esp_modem_dce_device"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E", "esp_modem_dce_device::ESP_MODEM_DCE_BG96"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE", "esp_modem_dce_device::ESP_MODEM_DCE_GENETIC"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7000E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM7000"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7070E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM7070"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM7600"], [2, 1, 1, "_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E", "esp_modem_dce_device::ESP_MODEM_DCE_SIM800"], [2, 5, 1, "_CPPv422esp_modem_dce_device_t", "esp_modem_dce_device_t"], [2, 2, 1, "_CPPv418esp_modem_dce_mode", "esp_modem_dce_mode"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_CMUXE", "esp_modem_dce_mode::ESP_MODEM_MODE_CMUX"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE", "esp_modem_dce_mode::ESP_MODEM_MODE_COMMAND"], [2, 1, 1, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE", "esp_modem_dce_mode::ESP_MODEM_MODE_DATA"], [2, 5, 1, "_CPPv420esp_modem_dce_mode_t", "esp_modem_dce_mode_t"], [2, 3, 1, "_CPPv417esp_modem_destroyP15esp_modem_dce_t", "esp_modem_destroy"], [2, 4, 1, "_CPPv417esp_modem_destroyP15esp_modem_dce_t", "esp_modem_destroy::dce"], [2, 6, 1, "_CPPv420esp_modem_dte_config", "esp_modem_dte_config"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config15dte_buffer_sizeE", "esp_modem_dte_config::dte_buffer_size"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config16extension_configE", "esp_modem_dte_config::extension_config"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config13task_priorityE", "esp_modem_dte_config::task_priority"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config15task_stack_sizeE", "esp_modem_dte_config::task_stack_size"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config11uart_configE", "esp_modem_dte_config::uart_config"], [2, 8, 1, "_CPPv4N20esp_modem_dte_config10vfs_configE", "esp_modem_dte_config::vfs_config"], [2, 5, 1, "_CPPv422esp_modem_dte_config_t", "esp_modem_dte_config_t"], [2, 2, 1, "_CPPv421esp_modem_flow_ctrl_t", "esp_modem_flow_ctrl_t"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE", "esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_HW"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE", "esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_NONE"], [2, 1, 1, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE", "esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_SW"], [2, 3, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status"], [2, 4, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status::bcl"], [2, 4, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status::bcs"], [2, 4, 1, "_CPPv428esp_modem_get_battery_statusPiPiPi", "esp_modem_get_battery_status::voltage"], [2, 3, 1, "_CPPv418esp_modem_get_imeiPc", "esp_modem_get_imei"], [2, 4, 1, "_CPPv418esp_modem_get_imeiPc", "esp_modem_get_imei::imei"], [2, 3, 1, "_CPPv418esp_modem_get_imsiPc", "esp_modem_get_imsi"], [2, 4, 1, "_CPPv418esp_modem_get_imsiPc", "esp_modem_get_imsi::imsi"], [2, 3, 1, "_CPPv425esp_modem_get_module_namePc", "esp_modem_get_module_name"], [2, 4, 1, "_CPPv425esp_modem_get_module_namePc", "esp_modem_get_module_name::name"], [2, 3, 1, "_CPPv438esp_modem_get_network_attachment_statePi", "esp_modem_get_network_attachment_state"], [2, 4, 1, "_CPPv438esp_modem_get_network_attachment_statePi", "esp_modem_get_network_attachment_state::state"], [2, 3, 1, "_CPPv433esp_modem_get_network_system_modePi", "esp_modem_get_network_system_mode"], [2, 4, 1, "_CPPv433esp_modem_get_network_system_modePi", "esp_modem_get_network_system_mode::mode"], [2, 3, 1, "_CPPv427esp_modem_get_operator_namePcPi", "esp_modem_get_operator_name"], [2, 4, 1, "_CPPv427esp_modem_get_operator_namePcPi", "esp_modem_get_operator_name::act"], [2, 4, 1, "_CPPv427esp_modem_get_operator_namePcPi", "esp_modem_get_operator_name::name"], [2, 3, 1, "_CPPv425esp_modem_get_radio_statePi", "esp_modem_get_radio_state"], [2, 4, 1, "_CPPv425esp_modem_get_radio_statePi", "esp_modem_get_radio_state::state"], [2, 3, 1, "_CPPv428esp_modem_get_signal_qualityPiPi", "esp_modem_get_signal_quality"], [2, 4, 1, "_CPPv428esp_modem_get_signal_qualityPiPi", "esp_modem_get_signal_quality::ber"], [2, 4, 1, "_CPPv428esp_modem_get_signal_qualityPiPi", "esp_modem_get_signal_quality::rssi"], [2, 3, 1, "_CPPv417esp_modem_hang_upv", "esp_modem_hang_up"], [2, 3, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new"], [2, 4, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new::dce_config"], [2, 4, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new::dte_config"], [2, 4, 1, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new::netif"], [2, 3, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::dce_config"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::dte_config"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::module"], [2, 4, 1, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t", "esp_modem_new_dev::netif"], [2, 3, 1, "_CPPv420esp_modem_power_downv", "esp_modem_power_down"], [2, 3, 1, "_CPPv418esp_modem_read_pinPb", "esp_modem_read_pin"], [2, 4, 1, "_CPPv418esp_modem_read_pinPb", "esp_modem_read_pin::pin_ok"], [2, 3, 1, "_CPPv415esp_modem_resetv", "esp_modem_reset"], [2, 3, 1, "_CPPv426esp_modem_resume_data_modev", "esp_modem_resume_data_mode"], [2, 3, 1, "_CPPv418esp_modem_send_smsPKcPKc", "esp_modem_send_sms"], [2, 4, 1, "_CPPv418esp_modem_send_smsPKcPKc", "esp_modem_send_sms::message"], [2, 4, 1, "_CPPv418esp_modem_send_smsPKcPKc", "esp_modem_send_sms::number"], [2, 3, 1, "_CPPv418esp_modem_set_baudi", "esp_modem_set_baud"], [2, 4, 1, "_CPPv418esp_modem_set_baudi", "esp_modem_set_baud::baud"], [2, 3, 1, "_CPPv418esp_modem_set_cmuxv", "esp_modem_set_cmux"], [2, 3, 1, "_CPPv426esp_modem_set_command_modev", "esp_modem_set_command_mode"], [2, 3, 1, "_CPPv423esp_modem_set_data_modev", "esp_modem_set_data_mode"], [2, 3, 1, "_CPPv418esp_modem_set_echoKb", "esp_modem_set_echo"], [2, 4, 1, "_CPPv418esp_modem_set_echoKb", "esp_modem_set_echo::echo_on"], [2, 3, 1, "_CPPv426esp_modem_set_flow_controlii", "esp_modem_set_flow_control"], [2, 4, 1, "_CPPv426esp_modem_set_flow_controlii", "esp_modem_set_flow_control::dce_flow"], [2, 4, 1, "_CPPv426esp_modem_set_flow_controlii", "esp_modem_set_flow_control::dte_flow"], [2, 3, 1, "_CPPv429esp_modem_set_gnss_power_modei", "esp_modem_set_gnss_power_mode"], [2, 4, 1, "_CPPv429esp_modem_set_gnss_power_modei", "esp_modem_set_gnss_power_mode::mode"], [2, 3, 1, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t", "esp_modem_set_mode"], [2, 4, 1, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t", "esp_modem_set_mode::dce"], [2, 4, 1, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t", "esp_modem_set_mode::mode"], [2, 3, 1, "_CPPv438esp_modem_set_network_attachment_statei", "esp_modem_set_network_attachment_state"], [2, 4, 1, "_CPPv438esp_modem_set_network_attachment_statei", "esp_modem_set_network_attachment_state::state"], [2, 3, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands"], [2, 4, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands::bands"], [2, 4, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands::mode"], [2, 4, 1, "_CPPv427esp_modem_set_network_bandsPKcPKii", "esp_modem_set_network_bands::size"], [2, 3, 1, "_CPPv426esp_modem_set_network_modei", "esp_modem_set_network_mode"], [2, 4, 1, "_CPPv426esp_modem_set_network_modei", "esp_modem_set_network_mode::mode"], [2, 3, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator"], [2, 4, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator::format"], [2, 4, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator::mode"], [2, 4, 1, "_CPPv422esp_modem_set_operatoriiPKc", "esp_modem_set_operator::oper"], [2, 3, 1, "_CPPv425esp_modem_set_pdp_contextP22esp_modem_PdpContext_t", "esp_modem_set_pdp_context"], [2, 4, 1, "_CPPv425esp_modem_set_pdp_contextP22esp_modem_PdpContext_t", "esp_modem_set_pdp_context::p1"], [2, 3, 1, "_CPPv417esp_modem_set_pinPKc", "esp_modem_set_pin"], [2, 4, 1, "_CPPv417esp_modem_set_pinPKc", "esp_modem_set_pin::pin"], [2, 3, 1, "_CPPv428esp_modem_set_preferred_modei", "esp_modem_set_preferred_mode"], [2, 4, 1, "_CPPv428esp_modem_set_preferred_modei", "esp_modem_set_preferred_mode::mode"], [2, 3, 1, "_CPPv425esp_modem_set_radio_statei", "esp_modem_set_radio_state"], [2, 4, 1, "_CPPv425esp_modem_set_radio_statei", "esp_modem_set_radio_state::state"], [2, 3, 1, "_CPPv427esp_modem_sms_character_setv", "esp_modem_sms_character_set"], [2, 3, 1, "_CPPv422esp_modem_sms_txt_modeKb", "esp_modem_sms_txt_mode"], [2, 4, 1, "_CPPv422esp_modem_sms_txt_modeKb", "esp_modem_sms_txt_mode::txt"], [2, 3, 1, "_CPPv423esp_modem_store_profilev", "esp_modem_store_profile"], [2, 3, 1, "_CPPv414esp_modem_syncv", "esp_modem_sync"], [2, 6, 1, "_CPPv426esp_modem_uart_term_config", "esp_modem_uart_term_config"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9baud_rateE", "esp_modem_uart_term_config::baud_rate"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config10cts_io_numE", "esp_modem_uart_term_config::cts_io_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9data_bitsE", "esp_modem_uart_term_config::data_bits"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config16event_queue_sizeE", "esp_modem_uart_term_config::event_queue_size"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config12flow_controlE", "esp_modem_uart_term_config::flow_control"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config6parityE", "esp_modem_uart_term_config::parity"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config8port_numE", "esp_modem_uart_term_config::port_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config10rts_io_numE", "esp_modem_uart_term_config::rts_io_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config14rx_buffer_sizeE", "esp_modem_uart_term_config::rx_buffer_size"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9rx_io_numE", "esp_modem_uart_term_config::rx_io_num"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config10source_clkE", "esp_modem_uart_term_config::source_clk"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9stop_bitsE", "esp_modem_uart_term_config::stop_bits"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config14tx_buffer_sizeE", "esp_modem_uart_term_config::tx_buffer_size"], [2, 8, 1, "_CPPv4N26esp_modem_uart_term_config9tx_io_numE", "esp_modem_uart_term_config::tx_io_num"], [2, 6, 1, "_CPPv425esp_modem_vfs_term_config", "esp_modem_vfs_term_config"], [2, 8, 1, "_CPPv4N25esp_modem_vfs_term_config7deleterE", "esp_modem_vfs_term_config::deleter"], [2, 8, 1, "_CPPv4N25esp_modem_vfs_term_config2fdE", "esp_modem_vfs_term_config::fd"], [2, 8, 1, "_CPPv4N25esp_modem_vfs_term_config8resourceE", "esp_modem_vfs_term_config::resource"], [7, 3, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::bcl"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::bcs"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::t"], [7, 4, 1, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi", "get_battery_status_sim7xxx::voltage"], [7, 5, 1, "_CPPv411got_line_cb", "got_line_cb"], [7, 2, 1, "_CPPv410modem_mode", "modem_mode"], [7, 1, 1, "_CPPv4N10modem_mode9CMUX_MODEE", "modem_mode::CMUX_MODE"], [7, 1, 1, "_CPPv4N10modem_mode12COMMAND_MODEE", "modem_mode::COMMAND_MODE"], [7, 1, 1, "_CPPv4N10modem_mode9DATA_MODEE", "modem_mode::DATA_MODE"], [7, 1, 1, "_CPPv4N10modem_mode5UNDEFE", "modem_mode::UNDEF"], [7, 3, 1, "_CPPv418power_down_sim70xxP13CommandableIf", "power_down_sim70xx"], [7, 4, 1, "_CPPv418power_down_sim70xxP13CommandableIf", "power_down_sim70xx::t"], [7, 3, 1, "_CPPv418power_down_sim76xxP13CommandableIf", "power_down_sim76xx"], [7, 4, 1, "_CPPv418power_down_sim76xxP13CommandableIf", "power_down_sim76xx::t"], [7, 3, 1, "_CPPv417power_down_sim8xxP13CommandableIf", "power_down_sim8xx"], [7, 4, 1, "_CPPv417power_down_sim8xxP13CommandableIf", "power_down_sim8xx::t"], [7, 3, 1, "_CPPv420set_data_mode_sim8xxP13CommandableIf", "set_data_mode_sim8xx"], [7, 4, 1, "_CPPv420set_data_mode_sim8xxP13CommandableIf", "set_data_mode_sim8xx::t"], [7, 3, 1, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi", "set_gnss_power_mode_sim76xx"], [7, 4, 1, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi", "set_gnss_power_mode_sim76xx::mode"], [7, 4, 1, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi", "set_gnss_power_mode_sim76xx::t"], [7, 3, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::bands"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::mode"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::size"], [7, 4, 1, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii", "set_network_bands_sim76xx::t"], [7, 2, 1, "_CPPv414terminal_error", "terminal_error"], [7, 1, 1, "_CPPv4N14terminal_error15BUFFER_OVERFLOWE", "terminal_error::BUFFER_OVERFLOW"], [7, 1, 1, "_CPPv4N14terminal_error14CHECKSUM_ERRORE", "terminal_error::CHECKSUM_ERROR"], [7, 1, 1, "_CPPv4N14terminal_error11DEVICE_GONEE", "terminal_error::DEVICE_GONE"], [7, 1, 1, "_CPPv4N14terminal_error23UNEXPECTED_CONTROL_FLOWE", "terminal_error::UNEXPECTED_CONTROL_FLOW"]]}, "objtypes": {"0": "c:macro", "1": "cpp:enumerator", "2": "cpp:enum", "3": "cpp:function", "4": "cpp:functionParam", "5": "cpp:type", "6": "cpp:class", "7": "cpp:templateParam", "8": "cpp:member"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "enumerator", "C++ enumerator"], "2": ["cpp", "enum", "C++ enum"], "3": ["cpp", "function", "C++ function"], "4": ["cpp", "functionParam", "C++ function parameter"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "class", "C++ class"], "7": ["cpp", "templateParam", "C++ template parameter"], "8": ["cpp", "member", "C++ member"]}, "titleterms": {"esp": [0, 1, 5], "modem": [0, 1, 2, 3, 5, 7], "compon": 0, "dce": [0, 1, 3, 6, 7], "dte": [0, 3, 7], "ppp": 0, "netif": [0, 7], "modul": [0, 1, 7], "us": [0, 1], "case": [0, 1], "extens": 0, "cmux": [0, 6, 7], "": 0, "other": 0, "devic": [0, 7], "advanc": 1, "custom": 1, "instanti": 1, "factori": 1, "creat": [1, 3], "new": [1, 7], "commun": 1, "interfac": [1, 7], "c": [2, 3], "api": [2, 3], "document": [2, 3], "lifecycl": 2, "command": [2, 3, 7], "configur": 2, "structur": 2, "mode": 3, "switch": 3, "destroi": 3, "programm": 5, "manual": 5, "intern": [6, 7], "design": 6, "decis": 6, "collabor": 6, "model": 6, "termin": [6, 7], "inherit": 6, "implement": 7, "abstract": 7, "ad": 7, "gener": 7, "librari": 7, "type": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"ESP MODEM": [[0, "esp-modem"]], "Modem components": [[0, "modem-components"]], "DCE": [[0, "dce"]], "DTE": [[0, "dte"]], "PPP netif": [[0, "ppp-netif"]], "Module": [[0, "module"]], "Use cases": [[0, "use-cases"]], "Extensibility": [[0, "extensibility"]], "CMUX": [[0, "cmux"]], "DTE\u2019s": [[0, "dte-s"]], "Other devices": [[0, "other-devices"]], "Advanced esp-modem use cases": [[1, "advanced-esp-modem-use-cases"]], "Custom instantiation with DCE factory": [[1, "custom-instantiation-with-dce-factory"]], "Create custom module": [[1, "create-custom-module"]], "Create new communication interface": [[1, "create-new-communication-interface"]], "C API Documentation": [[2, "c-api-documentation"]], "Lifecycle API": [[2, "lifecycle-api"]], "Modem commands": [[2, "modem-commands"], [3, "modem-commands"]], "Configuration structures": [[2, "configuration-structures"]], "C++ API Documentation": [[3, "c-api-documentation"]], "Create DTE and DCE": [[3, "create-dte-and-dce"]], "Mode switching commands": [[3, "mode-switching-commands"]], "Destroy the DCE": [[3, "destroy-the-dce"]], "ESP-MODEM Programmers manual": [[5, "esp-modem-programmers-manual"]], "Internal design": [[6, "internal-design"]], "Design decisions": [[6, "design-decisions"]], "DCE collaboration model": [[6, "dce-collaboration-model"]], "Terminal inheritance": [[6, "terminal-inheritance"]], "CMUX terminal": [[6, "cmux-terminal"]], "DCE Internal implementation": [[7, "dce-internal-implementation"]], "DTE abstraction": [[7, "dte-abstraction"]], "Terminal interface": [[7, "terminal-interface"]], "CMUX implementation": [[7, "cmux-implementation"]], "Netif": [[7, "netif"]], "Module abstraction": [[7, "module-abstraction"]], "Adding new devices": [[7, "adding-new-devices"]], "Implement a new generic command": [[7, "implement-a-new-generic-command"]], "Command library": [[7, "command-library"]], "Modem types": [[7, "modem-types"]]}, "indexentries": {"modemtype (c++ enum)": [[1, "_CPPv49ModemType"]], "modemtype::bg96 (c++ enumerator)": [[1, "_CPPv4N9ModemType4BG96E"]], "modemtype::genericmodule (c++ enumerator)": [[1, "_CPPv4N9ModemType13GenericModuleE"]], "modemtype::sim7000 (c++ enumerator)": [[1, "_CPPv4N9ModemType7SIM7000E"]], "modemtype::sim7070 (c++ enumerator)": [[1, "_CPPv4N9ModemType7SIM7070E"]], "modemtype::sim7600 (c++ enumerator)": [[1, "_CPPv4N9ModemType7SIM7600E"]], "modemtype::sim800 (c++ enumerator)": [[1, "_CPPv4N9ModemType6SIM800E"]], "esp_modem::dce_factory::creator (c++ class)": [[1, "_CPPv4I0EN9esp_modem11dce_factory7CreatorE"]], "esp_modem::dce_factory::factory (c++ class)": [[1, "_CPPv4N9esp_modem11dce_factory7FactoryE"]], "esp_modem::dce_factory::factory::build (c++ function)": [[1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args"]], "esp_modem::dce_factory::factory::build_unique (c++ function)": [[1, "_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args"], [1, "_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args"]], "esp_modem::dce_factory::factoryhelper (c++ class)": [[1, "_CPPv4N9esp_modem11dce_factory13FactoryHelperE"]], "esp_modem_dce_default_config (c macro)": [[2, "c.ESP_MODEM_DCE_DEFAULT_CONFIG"]], "esp_modem_dte_default_config (c macro)": [[2, "c.ESP_MODEM_DTE_DEFAULT_CONFIG"]], "esp_modem_at (c++ function)": [[2, "_CPPv412esp_modem_atPKcPci"]], "esp_modem_dce_config (c++ struct)": [[2, "_CPPv420esp_modem_dce_config"]], "esp_modem_dce_config::apn (c++ member)": [[2, "_CPPv4N20esp_modem_dce_config3apnE"]], "esp_modem_dce_config_t (c++ type)": [[2, "_CPPv422esp_modem_dce_config_t"]], "esp_modem_dce_device (c++ enum)": [[2, "_CPPv420esp_modem_dce_device"]], "esp_modem_dce_device::esp_modem_dce_bg96 (c++ enumerator)": [[2, "_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E"]], "esp_modem_dce_device::esp_modem_dce_genetic (c++ enumerator)": [[2, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE"]], "esp_modem_dce_device::esp_modem_dce_sim7000 (c++ enumerator)": [[2, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7000E"]], "esp_modem_dce_device::esp_modem_dce_sim7070 (c++ enumerator)": [[2, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7070E"]], "esp_modem_dce_device::esp_modem_dce_sim7600 (c++ enumerator)": [[2, "_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E"]], "esp_modem_dce_device::esp_modem_dce_sim800 (c++ enumerator)": [[2, "_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E"]], "esp_modem_dce_device_t (c++ type)": [[2, "_CPPv422esp_modem_dce_device_t"]], "esp_modem_dce_mode (c++ enum)": [[2, "_CPPv418esp_modem_dce_mode"]], "esp_modem_dce_mode::esp_modem_mode_cmux (c++ enumerator)": [[2, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_CMUXE"]], "esp_modem_dce_mode::esp_modem_mode_command (c++ enumerator)": [[2, "_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE"]], "esp_modem_dce_mode::esp_modem_mode_data (c++ enumerator)": [[2, "_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE"]], "esp_modem_dce_mode_t (c++ type)": [[2, "_CPPv420esp_modem_dce_mode_t"]], "esp_modem_destroy (c++ function)": [[2, "_CPPv417esp_modem_destroyP15esp_modem_dce_t"]], "esp_modem_dte_config (c++ struct)": [[2, "_CPPv420esp_modem_dte_config"]], "esp_modem_dte_config::dte_buffer_size (c++ member)": [[2, "_CPPv4N20esp_modem_dte_config15dte_buffer_sizeE"]], "esp_modem_dte_config::extension_config (c++ member)": [[2, "_CPPv4N20esp_modem_dte_config16extension_configE"]], "esp_modem_dte_config::task_priority (c++ member)": [[2, "_CPPv4N20esp_modem_dte_config13task_priorityE"]], "esp_modem_dte_config::task_stack_size (c++ member)": [[2, "_CPPv4N20esp_modem_dte_config15task_stack_sizeE"]], "esp_modem_dte_config::uart_config (c++ member)": [[2, "_CPPv4N20esp_modem_dte_config11uart_configE"]], "esp_modem_dte_config::vfs_config (c++ member)": [[2, "_CPPv4N20esp_modem_dte_config10vfs_configE"]], "esp_modem_dte_config_t (c++ type)": [[2, "_CPPv422esp_modem_dte_config_t"]], "esp_modem_flow_ctrl_t (c++ enum)": [[2, "_CPPv421esp_modem_flow_ctrl_t"]], "esp_modem_flow_ctrl_t::esp_modem_flow_control_hw (c++ enumerator)": [[2, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE"]], "esp_modem_flow_ctrl_t::esp_modem_flow_control_none (c++ enumerator)": [[2, "_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE"]], "esp_modem_flow_ctrl_t::esp_modem_flow_control_sw (c++ enumerator)": [[2, "_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE"]], "esp_modem_get_battery_status (c++ function)": [[2, "_CPPv428esp_modem_get_battery_statusPiPiPi"]], "esp_modem_get_imei (c++ function)": [[2, "_CPPv418esp_modem_get_imeiPc"]], "esp_modem_get_imsi (c++ function)": [[2, "_CPPv418esp_modem_get_imsiPc"]], "esp_modem_get_module_name (c++ function)": [[2, "_CPPv425esp_modem_get_module_namePc"]], "esp_modem_get_network_attachment_state (c++ function)": [[2, "_CPPv438esp_modem_get_network_attachment_statePi"]], "esp_modem_get_network_system_mode (c++ function)": [[2, "_CPPv433esp_modem_get_network_system_modePi"]], "esp_modem_get_operator_name (c++ function)": [[2, "_CPPv427esp_modem_get_operator_namePcPi"]], "esp_modem_get_radio_state (c++ function)": [[2, "_CPPv425esp_modem_get_radio_statePi"]], "esp_modem_get_signal_quality (c++ function)": [[2, "_CPPv428esp_modem_get_signal_qualityPiPi"]], "esp_modem_hang_up (c++ function)": [[2, "_CPPv417esp_modem_hang_upv"]], "esp_modem_new (c++ function)": [[2, "_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t"]], "esp_modem_new_dev (c++ function)": [[2, "_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t"]], "esp_modem_power_down (c++ function)": [[2, "_CPPv420esp_modem_power_downv"]], "esp_modem_read_pin (c++ function)": [[2, "_CPPv418esp_modem_read_pinPb"]], "esp_modem_reset (c++ function)": [[2, "_CPPv415esp_modem_resetv"]], "esp_modem_resume_data_mode (c++ function)": [[2, "_CPPv426esp_modem_resume_data_modev"]], "esp_modem_send_sms (c++ function)": [[2, "_CPPv418esp_modem_send_smsPKcPKc"]], "esp_modem_set_baud (c++ function)": [[2, "_CPPv418esp_modem_set_baudi"]], "esp_modem_set_cmux (c++ function)": [[2, "_CPPv418esp_modem_set_cmuxv"]], "esp_modem_set_command_mode (c++ function)": [[2, "_CPPv426esp_modem_set_command_modev"]], "esp_modem_set_data_mode (c++ function)": [[2, "_CPPv423esp_modem_set_data_modev"]], "esp_modem_set_echo (c++ function)": [[2, "_CPPv418esp_modem_set_echoKb"]], "esp_modem_set_flow_control (c++ function)": [[2, "_CPPv426esp_modem_set_flow_controlii"]], "esp_modem_set_gnss_power_mode (c++ function)": [[2, "_CPPv429esp_modem_set_gnss_power_modei"]], "esp_modem_set_mode (c++ function)": [[2, "_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t"]], "esp_modem_set_network_attachment_state (c++ function)": [[2, "_CPPv438esp_modem_set_network_attachment_statei"]], "esp_modem_set_network_bands (c++ function)": [[2, "_CPPv427esp_modem_set_network_bandsPKcPKii"]], "esp_modem_set_network_mode (c++ function)": [[2, "_CPPv426esp_modem_set_network_modei"]], "esp_modem_set_operator (c++ function)": [[2, "_CPPv422esp_modem_set_operatoriiPKc"]], "esp_modem_set_pdp_context (c++ function)": [[2, "_CPPv425esp_modem_set_pdp_contextP22esp_modem_PdpContext_t"]], "esp_modem_set_pin (c++ function)": [[2, "_CPPv417esp_modem_set_pinPKc"]], "esp_modem_set_preferred_mode (c++ function)": [[2, "_CPPv428esp_modem_set_preferred_modei"]], "esp_modem_set_radio_state (c++ function)": [[2, "_CPPv425esp_modem_set_radio_statei"]], "esp_modem_sms_character_set (c++ function)": [[2, "_CPPv427esp_modem_sms_character_setv"]], "esp_modem_sms_txt_mode (c++ function)": [[2, "_CPPv422esp_modem_sms_txt_modeKb"]], "esp_modem_store_profile (c++ function)": [[2, "_CPPv423esp_modem_store_profilev"]], "esp_modem_sync (c++ function)": [[2, "_CPPv414esp_modem_syncv"]], "esp_modem_uart_term_config (c++ struct)": [[2, "_CPPv426esp_modem_uart_term_config"]], "esp_modem_uart_term_config::baud_rate (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config9baud_rateE"]], "esp_modem_uart_term_config::cts_io_num (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config10cts_io_numE"]], "esp_modem_uart_term_config::data_bits (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config9data_bitsE"]], "esp_modem_uart_term_config::event_queue_size (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config16event_queue_sizeE"]], "esp_modem_uart_term_config::flow_control (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config12flow_controlE"]], "esp_modem_uart_term_config::parity (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config6parityE"]], "esp_modem_uart_term_config::port_num (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config8port_numE"]], "esp_modem_uart_term_config::rts_io_num (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config10rts_io_numE"]], "esp_modem_uart_term_config::rx_buffer_size (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config14rx_buffer_sizeE"]], "esp_modem_uart_term_config::rx_io_num (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config9rx_io_numE"]], "esp_modem_uart_term_config::source_clk (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config10source_clkE"]], "esp_modem_uart_term_config::stop_bits (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config9stop_bitsE"]], "esp_modem_uart_term_config::tx_buffer_size (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config14tx_buffer_sizeE"]], "esp_modem_uart_term_config::tx_io_num (c++ member)": [[2, "_CPPv4N26esp_modem_uart_term_config9tx_io_numE"]], "esp_modem_vfs_term_config (c++ struct)": [[2, "_CPPv425esp_modem_vfs_term_config"]], "esp_modem_vfs_term_config::deleter (c++ member)": [[2, "_CPPv4N25esp_modem_vfs_term_config7deleterE"]], "esp_modem_vfs_term_config::fd (c++ member)": [[2, "_CPPv4N25esp_modem_vfs_term_config2fdE"]], "esp_modem_vfs_term_config::resource (c++ member)": [[2, "_CPPv4N25esp_modem_vfs_term_config8resourceE"]], "create_bg96_dce (c++ function)": [[3, "_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"]], "create_sim7000_dce (c++ function)": [[3, "_CPPv418create_SIM7000_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"]], "create_sim7070_dce (c++ function)": [[3, "_CPPv418create_SIM7070_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"]], "create_sim7600_dce (c++ function)": [[3, "_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"]], "create_sim800_dce (c++ function)": [[3, "_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"]], "create_generic_dce (c++ function)": [[3, "_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"]], "create_uart_dte (c++ function)": [[3, "_CPPv415create_uart_dtePK10dte_config"]], "create_vfs_dte (c++ function)": [[3, "_CPPv414create_vfs_dtePK10dte_config"]], "dce_config (c++ type)": [[3, "_CPPv410dce_config"]], "dte_config (c++ type)": [[3, "_CPPv410dte_config"]], "esp_modem::dce_t (c++ class)": [[3, "_CPPv4I0EN9esp_modem5DCE_TE"], [7, "_CPPv4I0EN9esp_modem5DCE_TE"]], "esp_modem::dce_t::set_data (c++ function)": [[3, "_CPPv4N9esp_modem5DCE_T8set_dataEv"], [7, "_CPPv4N9esp_modem5DCE_T8set_dataEv"]], "esp_modem_declare_dce_command (c macro)": [[7, "c.ESP_MODEM_DECLARE_DCE_COMMAND"]], "cmux_state (c++ enum)": [[7, "_CPPv410cmux_state"]], "cmux_state::footer (c++ enumerator)": [[7, "_CPPv4N10cmux_state6FOOTERE"]], "cmux_state::header (c++ enumerator)": [[7, "_CPPv4N10cmux_state6HEADERE"]], "cmux_state::init (c++ enumerator)": [[7, "_CPPv4N10cmux_state4INITE"]], "cmux_state::payload (c++ enumerator)": [[7, "_CPPv4N10cmux_state7PAYLOADE"]], "cmux_state::recover (c++ enumerator)": [[7, "_CPPv4N10cmux_state7RECOVERE"]], "command_result (c++ enum)": [[7, "_CPPv414command_result"]], "command_result::fail (c++ enumerator)": [[7, "_CPPv4N14command_result4FAILE"]], "command_result::ok (c++ enumerator)": [[7, "_CPPv4N14command_result2OKE"]], "command_result::timeout (c++ enumerator)": [[7, "_CPPv4N14command_result7TIMEOUTE"]], "esp_modem::bg96 (c++ class)": [[7, "_CPPv4N9esp_modem4BG96E"]], "esp_modem::cmux (c++ class)": [[7, "_CPPv4N9esp_modem4CMuxE"]], "esp_modem::cmux::deinit (c++ function)": [[7, "_CPPv4N9esp_modem4CMux6deinitEv"]], "esp_modem::cmux::detach (c++ function)": [[7, "_CPPv4N9esp_modem4CMux6detachEv"]], "esp_modem::cmux::init (c++ function)": [[7, "_CPPv4N9esp_modem4CMux4initEv"]], "esp_modem::cmux::set_read_cb (c++ function)": [[7, "_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE"]], "esp_modem::cmux::write (c++ function)": [[7, "_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t"]], "esp_modem::cmuxinstance (c++ class)": [[7, "_CPPv4N9esp_modem12CMuxInstanceE"]], "esp_modem::cmuxinstance::read (c++ function)": [[7, "_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t"]], "esp_modem::cmuxinstance::write (c++ function)": [[7, "_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t"]], "esp_modem::commandableif (c++ class)": [[7, "_CPPv4N9esp_modem13CommandableIfE"]], "esp_modem::commandableif::command (c++ function)": [[7, "_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc"]], "esp_modem::dce (c++ class)": [[7, "_CPPv4N9esp_modem3DCEE"]], "esp_modem::dce::at (c++ function)": [[7, "_CPPv4N9esp_modem3DCE2atERKNSt6stringERNSt6stringEi"]], "esp_modem::dce::get_battery_status (c++ function)": [[7, "_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi"]], "esp_modem::dce::get_imei (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE"]], "esp_modem::dce::get_imsi (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE"]], "esp_modem::dce::get_module_name (c++ function)": [[7, "_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE"]], "esp_modem::dce::get_network_attachment_state (c++ function)": [[7, "_CPPv4N9esp_modem3DCE28get_network_attachment_stateERi"]], "esp_modem::dce::get_network_system_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE23get_network_system_modeERi"]], "esp_modem::dce::get_operator_name (c++ function)": [[7, "_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringERi"]], "esp_modem::dce::get_radio_state (c++ function)": [[7, "_CPPv4N9esp_modem3DCE15get_radio_stateERi"]], "esp_modem::dce::get_signal_quality (c++ function)": [[7, "_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi"]], "esp_modem::dce::hang_up (c++ function)": [[7, "_CPPv4N9esp_modem3DCE7hang_upEv"]], "esp_modem::dce::power_down (c++ function)": [[7, "_CPPv4N9esp_modem3DCE10power_downEv"]], "esp_modem::dce::read_pin (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8read_pinERb"]], "esp_modem::dce::reset (c++ function)": [[7, "_CPPv4N9esp_modem3DCE5resetEv"]], "esp_modem::dce::resume_data_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE16resume_data_modeEv"]], "esp_modem::dce::send_sms (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE"]], "esp_modem::dce::set_baud (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8set_baudEi"]], "esp_modem::dce::set_cmux (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8set_cmuxEv"]], "esp_modem::dce::set_command_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE16set_command_modeEv"]], "esp_modem::dce::set_data_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE13set_data_modeEv"]], "esp_modem::dce::set_echo (c++ function)": [[7, "_CPPv4N9esp_modem3DCE8set_echoEKb"]], "esp_modem::dce::set_flow_control (c++ function)": [[7, "_CPPv4N9esp_modem3DCE16set_flow_controlEii"]], "esp_modem::dce::set_gnss_power_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE19set_gnss_power_modeEi"]], "esp_modem::dce::set_network_attachment_state (c++ function)": [[7, "_CPPv4N9esp_modem3DCE28set_network_attachment_stateEi"]], "esp_modem::dce::set_network_bands (c++ function)": [[7, "_CPPv4N9esp_modem3DCE17set_network_bandsERKNSt6stringEPKii"]], "esp_modem::dce::set_network_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE16set_network_modeEi"]], "esp_modem::dce::set_operator (c++ function)": [[7, "_CPPv4N9esp_modem3DCE12set_operatorEiiRKNSt6stringE"]], "esp_modem::dce::set_pdp_context (c++ function)": [[7, "_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext"]], "esp_modem::dce::set_pin (c++ function)": [[7, "_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE"]], "esp_modem::dce::set_preferred_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE18set_preferred_modeEi"]], "esp_modem::dce::set_radio_state (c++ function)": [[7, "_CPPv4N9esp_modem3DCE15set_radio_stateEi"]], "esp_modem::dce::sms_character_set (c++ function)": [[7, "_CPPv4N9esp_modem3DCE17sms_character_setEv"]], "esp_modem::dce::sms_txt_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DCE12sms_txt_modeEKb"]], "esp_modem::dce::store_profile (c++ function)": [[7, "_CPPv4N9esp_modem3DCE13store_profileEv"]], "esp_modem::dce::sync (c++ function)": [[7, "_CPPv4N9esp_modem3DCE4syncEv"]], "esp_modem::dce_mode (c++ class)": [[7, "_CPPv4N9esp_modem8DCE_ModeE"]], "esp_modem::dte (c++ class)": [[7, "_CPPv4N9esp_modem3DTEE"]], "esp_modem::dte::dte (c++ function)": [[7, "_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE"]], "esp_modem::dte::command (c++ function)": [[7, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t"], [7, "_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc"]], "esp_modem::dte::read (c++ function)": [[7, "_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t"]], "esp_modem::dte::set_error_cb (c++ function)": [[7, "_CPPv4N9esp_modem3DTE12set_error_cbENSt8functionIFv14terminal_errorEEE"]], "esp_modem::dte::set_mode (c++ function)": [[7, "_CPPv4N9esp_modem3DTE8set_modeE10modem_mode"]], "esp_modem::dte::set_read_cb (c++ function)": [[7, "_CPPv4N9esp_modem3DTE11set_read_cbENSt8functionIFbP7uint8_t6size_tEEE"]], "esp_modem::dte::write (c++ function)": [[7, "_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t"]], "esp_modem::genericmodule (c++ class)": [[7, "_CPPv4N9esp_modem13GenericModuleE"]], "esp_modem::genericmodule::genericmodule (c++ function)": [[7, "_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE"]], "esp_modem::genericmodule::configure_pdp_context (c++ function)": [[7, "_CPPv4N9esp_modem13GenericModule21configure_pdp_contextENSt10unique_ptrI10PdpContextEE"]], "esp_modem::genericmodule::get_operator_name (c++ function)": [[7, "_CPPv4N9esp_modem13GenericModule17get_operator_nameERNSt6stringE"]], "esp_modem::genericmodule::set_mode (c++ function)": [[7, "_CPPv4N9esp_modem13GenericModule8set_modeE10modem_mode"]], "esp_modem::genericmodule::setup_data_mode (c++ function)": [[7, "_CPPv4N9esp_modem13GenericModule15setup_data_modeEv"]], "esp_modem::moduleif (c++ class)": [[7, "_CPPv4N9esp_modem8ModuleIfE"]], "esp_modem::moduleif::set_mode (c++ function)": [[7, "_CPPv4N9esp_modem8ModuleIf8set_modeE10modem_mode"]], "esp_modem::moduleif::setup_data_mode (c++ function)": [[7, "_CPPv4N9esp_modem8ModuleIf15setup_data_modeEv"]], "esp_modem::netif (c++ class)": [[7, "_CPPv4N9esp_modem5NetifE"]], "esp_modem::netif::start (c++ function)": [[7, "_CPPv4N9esp_modem5Netif5startEv"]], "esp_modem::netif::stop (c++ function)": [[7, "_CPPv4N9esp_modem5Netif4stopEv"]], "esp_modem::netif::wait_until_ppp_exits (c++ function)": [[7, "_CPPv4N9esp_modem5Netif20wait_until_ppp_exitsEv"]], "esp_modem::pdpcontext (c++ struct)": [[7, "_CPPv4N9esp_modem10PdpContextE"]], "esp_modem::sim7000 (c++ class)": [[7, "_CPPv4N9esp_modem7SIM7000E"]], "esp_modem::sim7070 (c++ class)": [[7, "_CPPv4N9esp_modem7SIM7070E"]], "esp_modem::sim7600 (c++ class)": [[7, "_CPPv4N9esp_modem7SIM7600E"]], "esp_modem::sim800 (c++ class)": [[7, "_CPPv4N9esp_modem6SIM800E"]], "esp_modem::terminal (c++ class)": [[7, "_CPPv4N9esp_modem8TerminalE"]], "esp_modem::terminal::read (c++ function)": [[7, "_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t"]], "esp_modem::terminal::write (c++ function)": [[7, "_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t"]], "get_battery_status_sim7xxx (c++ function)": [[7, "_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi"]], "got_line_cb (c++ type)": [[7, "_CPPv411got_line_cb"]], "modem_mode (c++ enum)": [[7, "_CPPv410modem_mode"]], "modem_mode::cmux_mode (c++ enumerator)": [[7, "_CPPv4N10modem_mode9CMUX_MODEE"]], "modem_mode::command_mode (c++ enumerator)": [[7, "_CPPv4N10modem_mode12COMMAND_MODEE"]], "modem_mode::data_mode (c++ enumerator)": [[7, "_CPPv4N10modem_mode9DATA_MODEE"]], "modem_mode::undef (c++ enumerator)": [[7, "_CPPv4N10modem_mode5UNDEFE"]], "power_down_sim70xx (c++ function)": [[7, "_CPPv418power_down_sim70xxP13CommandableIf"]], "power_down_sim76xx (c++ function)": [[7, "_CPPv418power_down_sim76xxP13CommandableIf"]], "power_down_sim8xx (c++ function)": [[7, "_CPPv417power_down_sim8xxP13CommandableIf"]], "set_data_mode_sim8xx (c++ function)": [[7, "_CPPv420set_data_mode_sim8xxP13CommandableIf"]], "set_gnss_power_mode_sim76xx (c++ function)": [[7, "_CPPv427set_gnss_power_mode_sim76xxP13CommandableIfi"]], "set_network_bands_sim76xx (c++ function)": [[7, "_CPPv425set_network_bands_sim76xxP13CommandableIfRKNSt6stringEPKii"]], "terminal_error (c++ enum)": [[7, "_CPPv414terminal_error"]], "terminal_error::buffer_overflow (c++ enumerator)": [[7, "_CPPv4N14terminal_error15BUFFER_OVERFLOWE"]], "terminal_error::checksum_error (c++ enumerator)": [[7, "_CPPv4N14terminal_error14CHECKSUM_ERRORE"]], "terminal_error::device_gone (c++ enumerator)": [[7, "_CPPv4N14terminal_error11DEVICE_GONEE"]], "terminal_error::unexpected_control_flow (c++ enumerator)": [[7, "_CPPv4N14terminal_error23UNEXPECTED_CONTROL_FLOWE"]]}}) \ No newline at end of file diff --git a/esp_websocket_client/.buildinfo b/esp_websocket_client/.buildinfo index fa3d7aa9c..d5d21ba73 100644 --- a/esp_websocket_client/.buildinfo +++ b/esp_websocket_client/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 498cce684b6373a44bc74358e7d65b40 +config: 9789b27bdf7841a7eefb1ea43bf1774a tags: 549b3d6d0415232fb7e35403b330ff49 diff --git a/esp_websocket_client/_static/doctools.js b/esp_websocket_client/_static/doctools.js index c3db08d1c..527b876ca 100644 --- a/esp_websocket_client/_static/doctools.js +++ b/esp_websocket_client/_static/doctools.js @@ -10,6 +10,13 @@ */ "use strict"; +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + const _ready = (callback) => { if (document.readyState !== "loading") { callback(); @@ -18,73 +25,11 @@ const _ready = (callback) => { } }; -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - /** * Small JavaScript module for the documentation. */ const Documentation = { init: () => { - Documentation.highlightSearchWords(); Documentation.initDomainIndexTable(); Documentation.initOnKeyListeners(); }, @@ -126,51 +71,6 @@ const Documentation = { Documentation.LOCALE = catalog.locale; }, - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords: () => { - const highlight = - new URLSearchParams(window.location.search).get("highlight") || ""; - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - const url = new URL(window.location); - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - }, - /** * helper function to focus on search bar */ @@ -210,15 +110,11 @@ const Documentation = { ) return; - const blacklistedElements = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", - ]); document.addEventListener("keydown", (event) => { - if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements - if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; if (!event.shiftKey) { switch (event.key) { @@ -240,10 +136,6 @@ const Documentation = { event.preventDefault(); } break; - case "Escape": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.hideSearchWords(); - event.preventDefault(); } } diff --git a/esp_websocket_client/_static/pygments.css b/esp_websocket_client/_static/pygments.css index 20c4814dc..691aeb82d 100644 --- a/esp_websocket_client/_static/pygments.css +++ b/esp_websocket_client/_static/pygments.css @@ -1,5 +1,10 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } -.highlight { background: #eeffcc; } +.highlight { background: #eeffcc; } .highlight .c { color: #408090; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #007020; font-weight: bold } /* Keyword */ diff --git a/esp_websocket_client/_static/searchtools.js b/esp_websocket_client/_static/searchtools.js index f2fb7d5cf..e89e34d4e 100644 --- a/esp_websocket_client/_static/searchtools.js +++ b/esp_websocket_client/_static/searchtools.js @@ -57,14 +57,14 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, highlightTerms, searchTerms) => { +const _displayItem = (item, searchTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const [docName, title, anchor, descr] = item; + const [docName, title, anchor, descr, score, _filename] = item; let listItem = document.createElement("li"); let requestUrl; @@ -82,10 +82,9 @@ const _displayItem = (item, highlightTerms, searchTerms) => { requestUrl = docUrlRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } - const params = new URLSearchParams(); - params.set("highlight", [...highlightTerms].join(" ")); let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + "?" + params.toString() + anchor; + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; linkEl.innerHTML = title; if (descr) listItem.appendChild(document.createElement("span")).innerHTML = @@ -96,7 +95,7 @@ const _displayItem = (item, highlightTerms, searchTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, highlightTerms) + Search.makeSearchSummary(data, searchTerms) ); }); Search.output.appendChild(listItem); @@ -116,15 +115,14 @@ const _finishSearch = (resultCount) => { const _displayNextItem = ( results, resultCount, - highlightTerms, searchTerms ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), highlightTerms, searchTerms); + _displayItem(results.pop(), searchTerms); setTimeout( - () => _displayNextItem(results, resultCount, highlightTerms, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms), 5 ); } @@ -237,6 +235,12 @@ const Search = { * execute search (requires search index to be loaded) */ query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -264,6 +268,10 @@ const Search = { } }); + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + // console.debug("SEARCH: searching for:"); // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); @@ -272,6 +280,40 @@ const Search = { let results = []; _removeChildren(document.getElementById("search-progress")); + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + // lookup as object objectTerms.forEach((term) => results.push(...Search.performObjectSearch(term, objectTerms)) @@ -318,7 +360,7 @@ const Search = { // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, highlightTerms, searchTerms); + _displayNextItem(results, results.length, searchTerms); }, /** @@ -399,8 +441,8 @@ const Search = { // prepare search const terms = Search._index.terms; const titleTerms = Search._index.titleterms; - const docNames = Search._index.docnames; const filenames = Search._index.filenames; + const docNames = Search._index.docnames; const titles = Search._index.titles; const scoreMap = new Map(); @@ -497,11 +539,9 @@ const Search = { /** * helper function to return a node containing the * search summary for a given text. keywords is a list - * of stemmed words, highlightWords is the list of normal, unstemmed - * words. the first one is used to find the occurrence, the - * latter for highlighting it. + * of stemmed words. */ - makeSearchSummary: (htmlText, keywords, highlightWords) => { + makeSearchSummary: (htmlText, keywords) => { const text = Search.htmlToText(htmlText); if (text === "") return null; @@ -519,10 +559,6 @@ const Search = { summary.classList.add("context"); summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - highlightWords.forEach((highlightWord) => - _highlightText(summary, highlightWord, "highlighted") - ); - return summary; }, }; diff --git a/esp_websocket_client/_static/sphinx_highlight.js b/esp_websocket_client/_static/sphinx_highlight.js new file mode 100644 index 000000000..aae669d7e --- /dev/null +++ b/esp_websocket_client/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/esp_websocket_client/genindex.html b/esp_websocket_client/genindex.html index 64ccff743..a4fb4a3c4 100644 --- a/esp_websocket_client/genindex.html +++ b/esp_websocket_client/genindex.html @@ -17,6 +17,7 @@ + @@ -90,7 +91,7 @@
  • »
  • Index
  • - Edit on GitHub + Edit on GitHub

  • diff --git a/esp_websocket_client/index.html b/esp_websocket_client/index.html index 48f376c14..cecef4483 100644 --- a/esp_websocket_client/index.html +++ b/esp_websocket_client/index.html @@ -18,6 +18,7 @@ + @@ -118,7 +119,7 @@
  • »
  • ESP WebSocket Client
  • - Edit on GitHub + Edit on GitHub

  • @@ -156,24 +157,24 @@

    Minimal configurations:

    -
    const esp_websocket_client_config_t ws_cfg = {
    -    .uri = "ws://echo.websocket.org",
    -};
    +
    const esp_websocket_client_config_t ws_cfg = {
    +    .uri = "ws://echo.websocket.org",
    +};
     

    The WebSocket client supports the use of both path and query in the URI. Sample:

    -
    const esp_websocket_client_config_t ws_cfg = {
    -    .uri = "ws://echo.websocket.org/connectionhandler?id=104",
    -};
    +
    const esp_websocket_client_config_t ws_cfg = {
    +    .uri = "ws://echo.websocket.org/connectionhandler?id=104",
    +};
     

    If there are any options related to the URI in esp_websocket_client_config_t, the option defined by the URI will be overridden. Sample:

    -
    const esp_websocket_client_config_t ws_cfg = {
    -    .uri = "ws://echo.websocket.org:123",
    -    .port = 4567,
    -};
    +
    const esp_websocket_client_config_t ws_cfg = {
    +    .uri = "ws://echo.websocket.org:123",
    +    .port = 4567,
    +};
     //WebSocket client will connect to websocket.org using port 4567
     
    @@ -181,10 +182,10 @@ overridden. Sample:

    TLS

    Configuration:

    -
    const esp_websocket_client_config_t ws_cfg = {
    -    .uri = "wss://echo.websocket.org",
    -    .cert_pem = (const char *)websocket_org_pem_start,
    -};
    +
    const esp_websocket_client_config_t ws_cfg = {
    +    .uri = "wss://echo.websocket.org",
    +    .cert_pem = (const char *)websocket_org_pem_start,
    +};
     
    @@ -201,10 +202,10 @@ In case a host operating system has openssl and sed pa

    Subprotocol

    The subprotocol field in the config struct can be used to request a subprotocol

    -
    const esp_websocket_client_config_t ws_cfg = {
    -    .uri = "ws://websocket.org",
    -    .subprotocol = "soap",
    -};
    +
    const esp_websocket_client_config_t ws_cfg = {
    +    .uri = "ws://websocket.org",
    +    .subprotocol = "soap",
    +};
     
    @@ -223,7 +224,7 @@ In case a host operating system has openssl and sed pa
  • WEBSOCKET_EVENT_ERROR: Not used in the current implementation of the client.

  • If the client handle is needed in the event handler it can be accessed through the pointer passed to the event handler:

    -
    esp_websocket_client_handle_t client = (esp_websocket_client_handle_t)handler_args;
    +
    esp_websocket_client_handle_t client = (esp_websocket_client_handle_t)handler_args;
     
    @@ -235,11 +236,11 @@ In case a host operating system has openssl and sed pa

    Application Example

    -

    A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the websocket.org server can be found here: example .

    +

    A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the websocket.org server can be found here: example .

    Sending Text Data

    The WebSocket client supports sending data as a text data frame, which informs the application layer that the payload data is text data encoded as UTF-8. Example:

    -
    esp_websocket_client_send_text(client, data, len, portMAX_DELAY);
    +
    esp_websocket_client_send_text(client, data, len, portMAX_DELAY);
     
    @@ -249,7 +250,7 @@ In case a host operating system has openssl and sed pa

    Header File

    diff --git a/esp_websocket_client/search.html b/esp_websocket_client/search.html index db6d6e4ec..a355e39d0 100644 --- a/esp_websocket_client/search.html +++ b/esp_websocket_client/search.html @@ -18,6 +18,7 @@ + diff --git a/esp_websocket_client/searchindex.js b/esp_websocket_client/searchindex.js index f407010fa..8041a2063 100644 --- a/esp_websocket_client/searchindex.js +++ b/esp_websocket_client/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["ESP WebSocket Client"], "terms": {"The": 0, "i": 0, "an": 0, "implement": 0, "protocol": 0, "esp32": 0, "support": 0, "over": 0, "tcp": 0, "mbedtl": 0, "easi": 0, "setup": 0, "multipl": 0, "instanc": 0, "one": 0, "w": 0, "wss": 0, "scheme": 0, "sampl": 0, "echo": 0, "org": 0, "default": 0, "port": 0, "80": 0, "ssl": 0, "443": 0, "minim": 0, "const": 0, "esp_websocket_client_config_t": 0, "ws_cfg": 0, "us": 0, "both": 0, "path": 0, "queri": 0, "connectionhandl": 0, "id": 0, "104": 0, "If": 0, "ar": 0, "ani": 0, "option": 0, "relat": 0, "defin": 0, "overridden": 0, "123": 0, "4567": 0, "connect": 0, "cert_pem": 0, "char": 0, "websocket_org_pem_start": 0, "you": 0, "want": 0, "verifi": 0, "server": 0, "need": 0, "provid": 0, "certif": 0, "pem": 0, "format": 0, "websocket_client_config_t": 0, "certfic": 0, "requir": 0, "verif": 0, "thi": 0, "could": 0, "extract": 0, "from": 0, "openssl": 0, "s_client": 0, "command": 0, "In": 0, "case": 0, "host": 0, "oper": 0, "system": 0, "ha": 0, "sed": 0, "packag": 0, "instal": 0, "execut": 0, "follow": 0, "download": 0, "save": 0, "root": 0, "intermedi": 0, "note": 0, "window": 0, "user": 0, "linux": 0, "like": 0, "environ": 0, "nativ": 0, "mai": 0, "showcert": 0, "n": 0, "1": 0, "d": 0, "begin": 0, "end": 0, "p": 0, "x509": 0, "outform": 0, "websocket_org": 0, "second": 0, "chain": 0, "field": 0, "config": 0, "struct": 0, "can": 0, "request": 0, "soap": 0, "indiffer": 0, "respons": 0, "accept": 0, "matter": 0, "what": 0, "repli": 0, "For": 0, "more": 0, "pleas": 0, "below": 0, "websocket_event_connect": 0, "successfulli": 0, "establish": 0, "now": 0, "readi": 0, "receiv": 0, "contain": 0, "websocket_event_disconnect": 0, "abort": 0, "due": 0, "transport": 0, "layer": 0, "fail": 0, "read": 0, "e": 0, "g": 0, "becaus": 0, "unavail": 0, "websocket_event_data": 0, "pars": 0, "frame": 0, "pointer": 0, "payload": 0, "length": 0, "well": 0, "opcod": 0, "A": 0, "messag": 0, "fragment": 0, "exce": 0, "buffer": 0, "size": 0, "also": 0, "post": 0, "non": 0, "pong": 0, "close": 0, "websocket_event_error": 0, "Not": 0, "current": 0, "handl": 0, "handler": 0, "access": 0, "through": 0, "pass": 0, "esp_websocket_client_handle_t": 0, "handler_arg": 0, "abl": 0, "dure": 0, "handshak": 0, "doe": 0, "do": 0, "check": 0, "simpl": 0, "esp_websocket_cli": 0, "found": 0, "here": 0, "which": 0, "inform": 0, "encod": 0, "utf": 0, "8": 0, "esp_websocket_client_send_text": 0, "len": 0, "portmax_delai": 0, "includ": 0, "h": 0, "esp_websocket_client_init": 0, "start": 0, "session": 0, "must": 0, "first": 0, "call": 0, "return": 0, "input": 0, "other": 0, "interfac": 0, "have": 0, "correspond": 0, "esp_websocket_client_destroi": 0, "when": 0, "complet": 0, "paramet": 0, "null": 0, "error": 0, "esp_err_t": 0, "esp_websocket_client_set_uri": 0, "set": 0, "url": 0, "perform": 0, "behavior": 0, "replac": 0, "old": 0, "ones": 0, "stop": 0, "befor": 0, "been": 0, "esp_websocket_client_start": 0, "open": 0, "esp_websocket_client_stop": 0, "without": 0, "directli": 0, "It": 0, "good": 0, "practic": 0, "clean": 0, "wai": 0, "esp_websocket_client_clos": 0, "cannot": 0, "destroi": 0, "free": 0, "all": 0, "resourc": 0, "last": 0, "opposit": 0, "same": 0, "might": 0, "int": 0, "esp_websocket_client_send_bin": 0, "ticktype_t": 0, "timeout": 0, "write": 0, "binari": 0, "02": 0, "rto": 0, "tick": 0, "number": 0, "wa": 0, "sent": 0, "textual": 0, "01": 0, "sequenc": 0, "initi": 0, "wait": 0, "until": 0, "esp_websocket_client_close_with_cod": 0, "code": 0, "custom": 0, "statu": 0, "rfc6455": 0, "section": 0, "7": 0, "4": 0, "addit": 0, "bool": 0, "esp_websocket_client_is_connect": 0, "state": 0, "true": 0, "fals": 0, "size_t": 0, "esp_websocket_client_get_ping_interval_sec": 0, "get": 0, "ping": 0, "interv": 0, "sec": 0, "esp_websocket_client_set_ping_interval_sec": 0, "ping_interval_sec": 0, "new": 0, "esp_websocket_register_ev": 0, "esp_websocket_event_id_t": 0, "esp_event_handler_t": 0, "event_handl": 0, "void": 0, "event_handler_arg": 0, "regist": 0, "callback": 0, "context": 0, "esp_websocket_event_data_t": 0, "public": 0, "member": 0, "data_ptr": 0, "data_len": 0, "fin": 0, "flag": 0, "uint8_t": 0, "op_cod": 0, "user_context": 0, "user_data": 0, "payload_len": 0, "total": 0, "exceed": 0, "payload_offset": 0, "actual": 0, "offset": 0, "associ": 0, "overrid": 0, "domain": 0, "ip": 0, "string": 0, "depend": 0, "esp_websocket_transport_t": 0, "usernam": 0, "http": 0, "authent": 0, "password": 0, "disable_auto_reconnect": 0, "disabl": 0, "automat": 0, "reconnect": 0, "disconnect": 0, "task_prio": 0, "task": 0, "prioriti": 0, "task_stack": 0, "stack": 0, "buffer_s": 0, "der": 0, "termin": 0, "charact": 0, "cert_len": 0, "point": 0, "0": 0, "client_cert": 0, "mutual": 0, "client_kei": 0, "client_cert_len": 0, "privat": 0, "kei": 0, "client_key_len": 0, "client_key_pem": 0, "see": 0, "user_ag": 0, "agent": 0, "pingpong_timeout_sec": 0, "period": 0, "disable_pingpong_discon": 0, "auto": 0, "within": 0, "use_global_ca_stor": 0, "global": 0, "ca_stor": 0, "crt_bundle_attach": 0, "conf": 0, "esp_crt_bundle_attach": 0, "enabl": 0, "bundl": 0, "mbedtls_certificate_bundl": 0, "menuconfig": 0, "esp_crt_bundl": 0, "ca": 0, "skip_cert_common_name_check": 0, "skip": 0, "valid": 0, "cn": 0, "keep_alive_en": 0, "keep": 0, "aliv": 0, "keep_alive_idl": 0, "idl": 0, "time": 0, "5": 0, "keep_alive_interv": 0, "keep_alive_count": 0, "packet": 0, "retri": 0, "count": 0, "3": 0, "reconnect_timeout_m": 0, "after": 0, "valu": 0, "milisecond": 0, "10": 0, "network_timeout_m": 0, "network": 0, "millisecond": 0, "ifreq": 0, "if_nam": 0, "name": 0, "go": 0, "typedef": 0, "enum": 0, "websocket_event_ani": 0, "occur": 0, "onc": 0, "exchang": 0, "possibli": 0, "portion": 0, "websocket_event_clos": 0, "cleanli": 0, "websocket_event_max": 0, "websocket_transport_unknown": 0, "unknown": 0, "websocket_transport_over_tcp": 0, "websocket_transport_over_ssl": 0}, "objects": {"": [[0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE", "WEBSOCKET_EVENT_ANY"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE", "WEBSOCKET_EVENT_CLOSED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE", "WEBSOCKET_EVENT_CONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE", "WEBSOCKET_EVENT_DATA"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE", "WEBSOCKET_EVENT_DISCONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE", "WEBSOCKET_EVENT_ERROR"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE", "WEBSOCKET_EVENT_MAX"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE", "WEBSOCKET_TRANSPORT_OVER_SSL"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE", "WEBSOCKET_TRANSPORT_OVER_TCP"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE", "WEBSOCKET_TRANSPORT_UNKNOWN"], [0, 1, 1, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t", "esp_websocket_client_close"], [0, 2, 1, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t", "esp_websocket_client_close::client"], [0, 2, 1, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t", "esp_websocket_client_close::timeout"], [0, 1, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::client"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::code"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::data"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::len"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::timeout"], [0, 3, 1, "_CPPv429esp_websocket_client_config_t", "esp_websocket_client_config_t"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t11buffer_sizeE", "esp_websocket_client_config_t::buffer_size"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8cert_lenE", "esp_websocket_client_config_t::cert_len"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8cert_pemE", "esp_websocket_client_config_t::cert_pem"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t11client_certE", "esp_websocket_client_config_t::client_cert"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t15client_cert_lenE", "esp_websocket_client_config_t::client_cert_len"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t10client_keyE", "esp_websocket_client_config_t::client_key"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t14client_key_lenE", "esp_websocket_client_config_t::client_key_len"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t17crt_bundle_attachE", "esp_websocket_client_config_t::crt_bundle_attach"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t22disable_auto_reconnectE", "esp_websocket_client_config_t::disable_auto_reconnect"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t23disable_pingpong_disconE", "esp_websocket_client_config_t::disable_pingpong_discon"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t7headersE", "esp_websocket_client_config_t::headers"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t4hostE", "esp_websocket_client_config_t::host"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t7if_nameE", "esp_websocket_client_config_t::if_name"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t16keep_alive_countE", "esp_websocket_client_config_t::keep_alive_count"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t17keep_alive_enableE", "esp_websocket_client_config_t::keep_alive_enable"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t15keep_alive_idleE", "esp_websocket_client_config_t::keep_alive_idle"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t19keep_alive_intervalE", "esp_websocket_client_config_t::keep_alive_interval"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t18network_timeout_msE", "esp_websocket_client_config_t::network_timeout_ms"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8passwordE", "esp_websocket_client_config_t::password"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t4pathE", "esp_websocket_client_config_t::path"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t17ping_interval_secE", "esp_websocket_client_config_t::ping_interval_sec"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t20pingpong_timeout_secE", "esp_websocket_client_config_t::pingpong_timeout_sec"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t4portE", "esp_websocket_client_config_t::port"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t20reconnect_timeout_msE", "esp_websocket_client_config_t::reconnect_timeout_ms"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t27skip_cert_common_name_checkE", "esp_websocket_client_config_t::skip_cert_common_name_check"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t11subprotocolE", "esp_websocket_client_config_t::subprotocol"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t9task_prioE", "esp_websocket_client_config_t::task_prio"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t10task_stackE", "esp_websocket_client_config_t::task_stack"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t9transportE", "esp_websocket_client_config_t::transport"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t3uriE", "esp_websocket_client_config_t::uri"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t19use_global_ca_storeE", "esp_websocket_client_config_t::use_global_ca_store"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t10user_agentE", "esp_websocket_client_config_t::user_agent"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t12user_contextE", "esp_websocket_client_config_t::user_context"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8usernameE", "esp_websocket_client_config_t::username"], [0, 1, 1, "_CPPv428esp_websocket_client_destroy29esp_websocket_client_handle_t", "esp_websocket_client_destroy"], [0, 2, 1, "_CPPv428esp_websocket_client_destroy29esp_websocket_client_handle_t", "esp_websocket_client_destroy::client"], [0, 1, 1, "_CPPv442esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t", "esp_websocket_client_get_ping_interval_sec"], [0, 2, 1, "_CPPv442esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t", "esp_websocket_client_get_ping_interval_sec::client"], [0, 5, 1, "_CPPv429esp_websocket_client_handle_t", "esp_websocket_client_handle_t"], [0, 1, 1, "_CPPv425esp_websocket_client_initPK29esp_websocket_client_config_t", "esp_websocket_client_init"], [0, 2, 1, "_CPPv425esp_websocket_client_initPK29esp_websocket_client_config_t", "esp_websocket_client_init::config"], [0, 1, 1, "_CPPv433esp_websocket_client_is_connected29esp_websocket_client_handle_t", "esp_websocket_client_is_connected"], [0, 2, 1, "_CPPv433esp_websocket_client_is_connected29esp_websocket_client_handle_t", "esp_websocket_client_is_connected::client"], [0, 1, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::client"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::data"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::len"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::timeout"], [0, 1, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::client"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::data"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::len"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::timeout"], [0, 1, 1, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t", "esp_websocket_client_set_ping_interval_sec"], [0, 2, 1, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t", "esp_websocket_client_set_ping_interval_sec::client"], [0, 2, 1, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t", "esp_websocket_client_set_ping_interval_sec::ping_interval_sec"], [0, 1, 1, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc", "esp_websocket_client_set_uri"], [0, 2, 1, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc", "esp_websocket_client_set_uri::client"], [0, 2, 1, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc", "esp_websocket_client_set_uri::uri"], [0, 1, 1, "_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t", "esp_websocket_client_start"], [0, 2, 1, "_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t", "esp_websocket_client_start::client"], [0, 1, 1, "_CPPv425esp_websocket_client_stop29esp_websocket_client_handle_t", "esp_websocket_client_stop"], [0, 2, 1, "_CPPv425esp_websocket_client_stop29esp_websocket_client_handle_t", "esp_websocket_client_stop::client"], [0, 3, 1, "_CPPv426esp_websocket_event_data_t", "esp_websocket_event_data_t"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t6clientE", "esp_websocket_event_data_t::client"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t8data_lenE", "esp_websocket_event_data_t::data_len"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t8data_ptrE", "esp_websocket_event_data_t::data_ptr"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t3finE", "esp_websocket_event_data_t::fin"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t7op_codeE", "esp_websocket_event_data_t::op_code"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t11payload_lenE", "esp_websocket_event_data_t::payload_len"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t14payload_offsetE", "esp_websocket_event_data_t::payload_offset"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t12user_contextE", "esp_websocket_event_data_t::user_context"], [0, 6, 1, "_CPPv424esp_websocket_event_id_t", "esp_websocket_event_id_t"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_ANY"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_CLOSED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_CONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_DATA"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_DISCONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_ERROR"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_MAX"], [0, 1, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::client"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::event"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::event_handler"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::event_handler_arg"], [0, 6, 1, "_CPPv425esp_websocket_transport_t", "esp_websocket_transport_t"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE", "esp_websocket_transport_t::WEBSOCKET_TRANSPORT_OVER_SSL"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE", "esp_websocket_transport_t::WEBSOCKET_TRANSPORT_OVER_TCP"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE", "esp_websocket_transport_t::WEBSOCKET_TRANSPORT_UNKNOWN"]]}, "objtypes": {"0": "cpp:enumerator", "1": "cpp:function", "2": "cpp:functionParam", "3": "cpp:class", "4": "cpp:member", "5": "cpp:type", "6": "cpp:enum"}, "objnames": {"0": ["cpp", "enumerator", "C++ enumerator"], "1": ["cpp", "function", "C++ function"], "2": ["cpp", "functionParam", "C++ function parameter"], "3": ["cpp", "class", "C++ class"], "4": ["cpp", "member", "C++ member"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "enum", "C++ enum"]}, "titleterms": {"esp": 0, "websocket": 0, "client": 0, "overview": 0, "featur": 0, "configur": 0, "uri": 0, "tl": 0, "subprotocol": 0, "event": 0, "limit": 0, "known": 0, "issu": 0, "applic": 0, "exampl": 0, "send": 0, "text": 0, "data": 0, "api": 0, "refer": 0, "header": 0, "file": 0, "function": 0, "structur": 0, "type": 0, "definit": 0, "enumer": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["ESP WebSocket Client"], "terms": {"The": 0, "i": 0, "an": 0, "implement": 0, "protocol": 0, "esp32": 0, "support": 0, "over": 0, "tcp": 0, "mbedtl": 0, "easi": 0, "setup": 0, "multipl": 0, "instanc": 0, "one": 0, "w": 0, "wss": 0, "scheme": 0, "sampl": 0, "echo": 0, "org": 0, "default": 0, "port": 0, "80": 0, "ssl": 0, "443": 0, "minim": 0, "const": 0, "esp_websocket_client_config_t": 0, "ws_cfg": 0, "us": 0, "both": 0, "path": 0, "queri": 0, "connectionhandl": 0, "id": 0, "104": 0, "If": 0, "ar": 0, "ani": 0, "option": 0, "relat": 0, "defin": 0, "overridden": 0, "123": 0, "4567": 0, "connect": 0, "cert_pem": 0, "char": 0, "websocket_org_pem_start": 0, "you": 0, "want": 0, "verifi": 0, "server": 0, "need": 0, "provid": 0, "certif": 0, "pem": 0, "format": 0, "websocket_client_config_t": 0, "certfic": 0, "requir": 0, "verif": 0, "thi": 0, "could": 0, "extract": 0, "from": 0, "openssl": 0, "s_client": 0, "command": 0, "In": 0, "case": 0, "host": 0, "oper": 0, "system": 0, "ha": 0, "sed": 0, "packag": 0, "instal": 0, "execut": 0, "follow": 0, "download": 0, "save": 0, "root": 0, "intermedi": 0, "note": 0, "window": 0, "user": 0, "linux": 0, "like": 0, "environ": 0, "nativ": 0, "mai": 0, "showcert": 0, "n": 0, "1": 0, "d": 0, "begin": 0, "end": 0, "p": 0, "x509": 0, "outform": 0, "websocket_org": 0, "second": 0, "chain": 0, "field": 0, "config": 0, "struct": 0, "can": 0, "request": 0, "soap": 0, "indiffer": 0, "respons": 0, "accept": 0, "matter": 0, "what": 0, "repli": 0, "For": 0, "more": 0, "pleas": 0, "below": 0, "websocket_event_connect": 0, "successfulli": 0, "establish": 0, "now": 0, "readi": 0, "receiv": 0, "contain": 0, "websocket_event_disconnect": 0, "abort": 0, "due": 0, "transport": 0, "layer": 0, "fail": 0, "read": 0, "e": 0, "g": 0, "becaus": 0, "unavail": 0, "websocket_event_data": 0, "pars": 0, "frame": 0, "pointer": 0, "payload": 0, "length": 0, "well": 0, "opcod": 0, "A": 0, "messag": 0, "fragment": 0, "exce": 0, "buffer": 0, "size": 0, "also": 0, "post": 0, "non": 0, "pong": 0, "close": 0, "websocket_event_error": 0, "Not": 0, "current": 0, "handl": 0, "handler": 0, "access": 0, "through": 0, "pass": 0, "esp_websocket_client_handle_t": 0, "handler_arg": 0, "abl": 0, "dure": 0, "handshak": 0, "doe": 0, "do": 0, "check": 0, "simpl": 0, "esp_websocket_cli": 0, "found": 0, "here": 0, "which": 0, "inform": 0, "encod": 0, "utf": 0, "8": 0, "esp_websocket_client_send_text": 0, "len": 0, "portmax_delai": 0, "includ": 0, "h": 0, "esp_websocket_client_init": 0, "start": 0, "session": 0, "must": 0, "first": 0, "call": 0, "return": 0, "input": 0, "other": 0, "interfac": 0, "have": 0, "correspond": 0, "esp_websocket_client_destroi": 0, "when": 0, "complet": 0, "paramet": 0, "null": 0, "error": 0, "esp_err_t": 0, "esp_websocket_client_set_uri": 0, "set": 0, "url": 0, "perform": 0, "behavior": 0, "replac": 0, "old": 0, "ones": 0, "stop": 0, "befor": 0, "been": 0, "esp_websocket_client_start": 0, "open": 0, "esp_websocket_client_stop": 0, "without": 0, "directli": 0, "It": 0, "good": 0, "practic": 0, "clean": 0, "wai": 0, "esp_websocket_client_clos": 0, "cannot": 0, "destroi": 0, "free": 0, "all": 0, "resourc": 0, "last": 0, "opposit": 0, "same": 0, "might": 0, "int": 0, "esp_websocket_client_send_bin": 0, "ticktype_t": 0, "timeout": 0, "write": 0, "binari": 0, "02": 0, "rto": 0, "tick": 0, "number": 0, "wa": 0, "sent": 0, "textual": 0, "01": 0, "sequenc": 0, "initi": 0, "wait": 0, "until": 0, "esp_websocket_client_close_with_cod": 0, "code": 0, "custom": 0, "statu": 0, "rfc6455": 0, "section": 0, "7": 0, "4": 0, "addit": 0, "bool": 0, "esp_websocket_client_is_connect": 0, "state": 0, "true": 0, "fals": 0, "size_t": 0, "esp_websocket_client_get_ping_interval_sec": 0, "get": 0, "ping": 0, "interv": 0, "sec": 0, "esp_websocket_client_set_ping_interval_sec": 0, "ping_interval_sec": 0, "new": 0, "esp_websocket_register_ev": 0, "esp_websocket_event_id_t": 0, "esp_event_handler_t": 0, "event_handl": 0, "void": 0, "event_handler_arg": 0, "regist": 0, "callback": 0, "context": 0, "esp_websocket_event_data_t": 0, "public": 0, "member": 0, "data_ptr": 0, "data_len": 0, "fin": 0, "flag": 0, "uint8_t": 0, "op_cod": 0, "user_context": 0, "user_data": 0, "payload_len": 0, "total": 0, "exceed": 0, "payload_offset": 0, "actual": 0, "offset": 0, "associ": 0, "overrid": 0, "domain": 0, "ip": 0, "string": 0, "depend": 0, "esp_websocket_transport_t": 0, "usernam": 0, "http": 0, "authent": 0, "password": 0, "disable_auto_reconnect": 0, "disabl": 0, "automat": 0, "reconnect": 0, "disconnect": 0, "task_prio": 0, "task": 0, "prioriti": 0, "task_stack": 0, "stack": 0, "buffer_s": 0, "der": 0, "termin": 0, "charact": 0, "cert_len": 0, "point": 0, "0": 0, "client_cert": 0, "mutual": 0, "client_kei": 0, "client_cert_len": 0, "privat": 0, "kei": 0, "client_key_len": 0, "client_key_pem": 0, "see": 0, "user_ag": 0, "agent": 0, "pingpong_timeout_sec": 0, "period": 0, "disable_pingpong_discon": 0, "auto": 0, "within": 0, "use_global_ca_stor": 0, "global": 0, "ca_stor": 0, "crt_bundle_attach": 0, "conf": 0, "esp_crt_bundle_attach": 0, "enabl": 0, "bundl": 0, "mbedtls_certificate_bundl": 0, "menuconfig": 0, "esp_crt_bundl": 0, "ca": 0, "skip_cert_common_name_check": 0, "skip": 0, "valid": 0, "cn": 0, "keep_alive_en": 0, "keep": 0, "aliv": 0, "keep_alive_idl": 0, "idl": 0, "time": 0, "5": 0, "keep_alive_interv": 0, "keep_alive_count": 0, "packet": 0, "retri": 0, "count": 0, "3": 0, "reconnect_timeout_m": 0, "after": 0, "valu": 0, "milisecond": 0, "10": 0, "network_timeout_m": 0, "network": 0, "millisecond": 0, "ifreq": 0, "if_nam": 0, "name": 0, "go": 0, "typedef": 0, "enum": 0, "websocket_event_ani": 0, "occur": 0, "onc": 0, "exchang": 0, "possibli": 0, "portion": 0, "websocket_event_clos": 0, "cleanli": 0, "websocket_event_max": 0, "websocket_transport_unknown": 0, "unknown": 0, "websocket_transport_over_tcp": 0, "websocket_transport_over_ssl": 0}, "objects": {"": [[0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE", "WEBSOCKET_EVENT_ANY"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE", "WEBSOCKET_EVENT_CLOSED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE", "WEBSOCKET_EVENT_CONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE", "WEBSOCKET_EVENT_DATA"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE", "WEBSOCKET_EVENT_DISCONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE", "WEBSOCKET_EVENT_ERROR"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE", "WEBSOCKET_EVENT_MAX"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE", "WEBSOCKET_TRANSPORT_OVER_SSL"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE", "WEBSOCKET_TRANSPORT_OVER_TCP"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE", "WEBSOCKET_TRANSPORT_UNKNOWN"], [0, 1, 1, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t", "esp_websocket_client_close"], [0, 2, 1, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t", "esp_websocket_client_close::client"], [0, 2, 1, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t", "esp_websocket_client_close::timeout"], [0, 1, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::client"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::code"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::data"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::len"], [0, 2, 1, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t", "esp_websocket_client_close_with_code::timeout"], [0, 3, 1, "_CPPv429esp_websocket_client_config_t", "esp_websocket_client_config_t"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t11buffer_sizeE", "esp_websocket_client_config_t::buffer_size"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8cert_lenE", "esp_websocket_client_config_t::cert_len"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8cert_pemE", "esp_websocket_client_config_t::cert_pem"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t11client_certE", "esp_websocket_client_config_t::client_cert"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t15client_cert_lenE", "esp_websocket_client_config_t::client_cert_len"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t10client_keyE", "esp_websocket_client_config_t::client_key"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t14client_key_lenE", "esp_websocket_client_config_t::client_key_len"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t17crt_bundle_attachE", "esp_websocket_client_config_t::crt_bundle_attach"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t22disable_auto_reconnectE", "esp_websocket_client_config_t::disable_auto_reconnect"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t23disable_pingpong_disconE", "esp_websocket_client_config_t::disable_pingpong_discon"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t7headersE", "esp_websocket_client_config_t::headers"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t4hostE", "esp_websocket_client_config_t::host"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t7if_nameE", "esp_websocket_client_config_t::if_name"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t16keep_alive_countE", "esp_websocket_client_config_t::keep_alive_count"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t17keep_alive_enableE", "esp_websocket_client_config_t::keep_alive_enable"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t15keep_alive_idleE", "esp_websocket_client_config_t::keep_alive_idle"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t19keep_alive_intervalE", "esp_websocket_client_config_t::keep_alive_interval"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t18network_timeout_msE", "esp_websocket_client_config_t::network_timeout_ms"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8passwordE", "esp_websocket_client_config_t::password"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t4pathE", "esp_websocket_client_config_t::path"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t17ping_interval_secE", "esp_websocket_client_config_t::ping_interval_sec"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t20pingpong_timeout_secE", "esp_websocket_client_config_t::pingpong_timeout_sec"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t4portE", "esp_websocket_client_config_t::port"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t20reconnect_timeout_msE", "esp_websocket_client_config_t::reconnect_timeout_ms"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t27skip_cert_common_name_checkE", "esp_websocket_client_config_t::skip_cert_common_name_check"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t11subprotocolE", "esp_websocket_client_config_t::subprotocol"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t9task_prioE", "esp_websocket_client_config_t::task_prio"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t10task_stackE", "esp_websocket_client_config_t::task_stack"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t9transportE", "esp_websocket_client_config_t::transport"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t3uriE", "esp_websocket_client_config_t::uri"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t19use_global_ca_storeE", "esp_websocket_client_config_t::use_global_ca_store"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t10user_agentE", "esp_websocket_client_config_t::user_agent"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t12user_contextE", "esp_websocket_client_config_t::user_context"], [0, 4, 1, "_CPPv4N29esp_websocket_client_config_t8usernameE", "esp_websocket_client_config_t::username"], [0, 1, 1, "_CPPv428esp_websocket_client_destroy29esp_websocket_client_handle_t", "esp_websocket_client_destroy"], [0, 2, 1, "_CPPv428esp_websocket_client_destroy29esp_websocket_client_handle_t", "esp_websocket_client_destroy::client"], [0, 1, 1, "_CPPv442esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t", "esp_websocket_client_get_ping_interval_sec"], [0, 2, 1, "_CPPv442esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t", "esp_websocket_client_get_ping_interval_sec::client"], [0, 5, 1, "_CPPv429esp_websocket_client_handle_t", "esp_websocket_client_handle_t"], [0, 1, 1, "_CPPv425esp_websocket_client_initPK29esp_websocket_client_config_t", "esp_websocket_client_init"], [0, 2, 1, "_CPPv425esp_websocket_client_initPK29esp_websocket_client_config_t", "esp_websocket_client_init::config"], [0, 1, 1, "_CPPv433esp_websocket_client_is_connected29esp_websocket_client_handle_t", "esp_websocket_client_is_connected"], [0, 2, 1, "_CPPv433esp_websocket_client_is_connected29esp_websocket_client_handle_t", "esp_websocket_client_is_connected::client"], [0, 1, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::client"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::data"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::len"], [0, 2, 1, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_bin::timeout"], [0, 1, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::client"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::data"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::len"], [0, 2, 1, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t", "esp_websocket_client_send_text::timeout"], [0, 1, 1, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t", "esp_websocket_client_set_ping_interval_sec"], [0, 2, 1, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t", "esp_websocket_client_set_ping_interval_sec::client"], [0, 2, 1, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t", "esp_websocket_client_set_ping_interval_sec::ping_interval_sec"], [0, 1, 1, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc", "esp_websocket_client_set_uri"], [0, 2, 1, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc", "esp_websocket_client_set_uri::client"], [0, 2, 1, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc", "esp_websocket_client_set_uri::uri"], [0, 1, 1, "_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t", "esp_websocket_client_start"], [0, 2, 1, "_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t", "esp_websocket_client_start::client"], [0, 1, 1, "_CPPv425esp_websocket_client_stop29esp_websocket_client_handle_t", "esp_websocket_client_stop"], [0, 2, 1, "_CPPv425esp_websocket_client_stop29esp_websocket_client_handle_t", "esp_websocket_client_stop::client"], [0, 3, 1, "_CPPv426esp_websocket_event_data_t", "esp_websocket_event_data_t"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t6clientE", "esp_websocket_event_data_t::client"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t8data_lenE", "esp_websocket_event_data_t::data_len"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t8data_ptrE", "esp_websocket_event_data_t::data_ptr"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t3finE", "esp_websocket_event_data_t::fin"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t7op_codeE", "esp_websocket_event_data_t::op_code"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t11payload_lenE", "esp_websocket_event_data_t::payload_len"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t14payload_offsetE", "esp_websocket_event_data_t::payload_offset"], [0, 4, 1, "_CPPv4N26esp_websocket_event_data_t12user_contextE", "esp_websocket_event_data_t::user_context"], [0, 6, 1, "_CPPv424esp_websocket_event_id_t", "esp_websocket_event_id_t"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_ANY"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_CLOSED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_CONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_DATA"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_DISCONNECTED"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_ERROR"], [0, 0, 1, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE", "esp_websocket_event_id_t::WEBSOCKET_EVENT_MAX"], [0, 1, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::client"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::event"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::event_handler"], [0, 2, 1, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv", "esp_websocket_register_events::event_handler_arg"], [0, 6, 1, "_CPPv425esp_websocket_transport_t", "esp_websocket_transport_t"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE", "esp_websocket_transport_t::WEBSOCKET_TRANSPORT_OVER_SSL"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE", "esp_websocket_transport_t::WEBSOCKET_TRANSPORT_OVER_TCP"], [0, 0, 1, "_CPPv4N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE", "esp_websocket_transport_t::WEBSOCKET_TRANSPORT_UNKNOWN"]]}, "objtypes": {"0": "cpp:enumerator", "1": "cpp:function", "2": "cpp:functionParam", "3": "cpp:class", "4": "cpp:member", "5": "cpp:type", "6": "cpp:enum"}, "objnames": {"0": ["cpp", "enumerator", "C++ enumerator"], "1": ["cpp", "function", "C++ function"], "2": ["cpp", "functionParam", "C++ function parameter"], "3": ["cpp", "class", "C++ class"], "4": ["cpp", "member", "C++ member"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "enum", "C++ enum"]}, "titleterms": {"esp": 0, "websocket": 0, "client": 0, "overview": 0, "featur": 0, "configur": 0, "uri": 0, "tl": 0, "subprotocol": 0, "event": 0, "limit": 0, "known": 0, "issu": 0, "applic": 0, "exampl": 0, "send": 0, "text": 0, "data": 0, "api": 0, "refer": 0, "header": 0, "file": 0, "function": 0, "structur": 0, "type": 0, "definit": 0, "enumer": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"ESP WebSocket Client": [[0, "esp-websocket-client"]], "Overview": [[0, "overview"]], "Features": [[0, "features"]], "Configuration": [[0, "configuration"]], "URI": [[0, "uri"]], "TLS": [[0, "tls"]], "Subprotocol": [[0, "subprotocol"]], "Events": [[0, "events"]], "Limitations and Known Issues": [[0, "limitations-and-known-issues"]], "Application Example": [[0, "application-example"]], "Sending Text Data": [[0, "sending-text-data"]], "API Reference": [[0, "api-reference"]], "Header File": [[0, "header-file"]], "Functions": [[0, "functions"]], "Structures": [[0, "structures"]], "Type Definitions": [[0, "type-definitions"]], "Enumerations": [[0, "enumerations"]]}, "indexentries": {"esp_websocket_client_close (c++ function)": [[0, "_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t"]], "esp_websocket_client_close_with_code (c++ function)": [[0, "_CPPv436esp_websocket_client_close_with_code29esp_websocket_client_handle_tiPKci10TickType_t"]], "esp_websocket_client_config_t (c++ struct)": [[0, "_CPPv429esp_websocket_client_config_t"]], "esp_websocket_client_config_t::buffer_size (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t11buffer_sizeE"]], "esp_websocket_client_config_t::cert_len (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t8cert_lenE"]], "esp_websocket_client_config_t::cert_pem (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t8cert_pemE"]], "esp_websocket_client_config_t::client_cert (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t11client_certE"]], "esp_websocket_client_config_t::client_cert_len (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t15client_cert_lenE"]], "esp_websocket_client_config_t::client_key (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t10client_keyE"]], "esp_websocket_client_config_t::client_key_len (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t14client_key_lenE"]], "esp_websocket_client_config_t::crt_bundle_attach (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t17crt_bundle_attachE"]], "esp_websocket_client_config_t::disable_auto_reconnect (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t22disable_auto_reconnectE"]], "esp_websocket_client_config_t::disable_pingpong_discon (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t23disable_pingpong_disconE"]], "esp_websocket_client_config_t::headers (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t7headersE"]], "esp_websocket_client_config_t::host (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t4hostE"]], "esp_websocket_client_config_t::if_name (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t7if_nameE"]], "esp_websocket_client_config_t::keep_alive_count (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t16keep_alive_countE"]], "esp_websocket_client_config_t::keep_alive_enable (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t17keep_alive_enableE"]], "esp_websocket_client_config_t::keep_alive_idle (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t15keep_alive_idleE"]], "esp_websocket_client_config_t::keep_alive_interval (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t19keep_alive_intervalE"]], "esp_websocket_client_config_t::network_timeout_ms (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t18network_timeout_msE"]], "esp_websocket_client_config_t::password (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t8passwordE"]], "esp_websocket_client_config_t::path (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t4pathE"]], "esp_websocket_client_config_t::ping_interval_sec (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t17ping_interval_secE"]], "esp_websocket_client_config_t::pingpong_timeout_sec (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t20pingpong_timeout_secE"]], "esp_websocket_client_config_t::port (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t4portE"]], "esp_websocket_client_config_t::reconnect_timeout_ms (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t20reconnect_timeout_msE"]], "esp_websocket_client_config_t::skip_cert_common_name_check (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t27skip_cert_common_name_checkE"]], "esp_websocket_client_config_t::subprotocol (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t11subprotocolE"]], "esp_websocket_client_config_t::task_prio (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t9task_prioE"]], "esp_websocket_client_config_t::task_stack (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t10task_stackE"]], "esp_websocket_client_config_t::transport (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t9transportE"]], "esp_websocket_client_config_t::uri (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t3uriE"]], "esp_websocket_client_config_t::use_global_ca_store (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t19use_global_ca_storeE"]], "esp_websocket_client_config_t::user_agent (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t10user_agentE"]], "esp_websocket_client_config_t::user_context (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t12user_contextE"]], "esp_websocket_client_config_t::username (c++ member)": [[0, "_CPPv4N29esp_websocket_client_config_t8usernameE"]], "esp_websocket_client_destroy (c++ function)": [[0, "_CPPv428esp_websocket_client_destroy29esp_websocket_client_handle_t"]], "esp_websocket_client_get_ping_interval_sec (c++ function)": [[0, "_CPPv442esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t"]], "esp_websocket_client_handle_t (c++ type)": [[0, "_CPPv429esp_websocket_client_handle_t"]], "esp_websocket_client_init (c++ function)": [[0, "_CPPv425esp_websocket_client_initPK29esp_websocket_client_config_t"]], "esp_websocket_client_is_connected (c++ function)": [[0, "_CPPv433esp_websocket_client_is_connected29esp_websocket_client_handle_t"]], "esp_websocket_client_send_bin (c++ function)": [[0, "_CPPv429esp_websocket_client_send_bin29esp_websocket_client_handle_tPKci10TickType_t"]], "esp_websocket_client_send_text (c++ function)": [[0, "_CPPv430esp_websocket_client_send_text29esp_websocket_client_handle_tPKci10TickType_t"]], "esp_websocket_client_set_ping_interval_sec (c++ function)": [[0, "_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t"]], "esp_websocket_client_set_uri (c++ function)": [[0, "_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc"]], "esp_websocket_client_start (c++ function)": [[0, "_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t"]], "esp_websocket_client_stop (c++ function)": [[0, "_CPPv425esp_websocket_client_stop29esp_websocket_client_handle_t"]], "esp_websocket_event_data_t (c++ struct)": [[0, "_CPPv426esp_websocket_event_data_t"]], "esp_websocket_event_data_t::client (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t6clientE"]], "esp_websocket_event_data_t::data_len (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t8data_lenE"]], "esp_websocket_event_data_t::data_ptr (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t8data_ptrE"]], "esp_websocket_event_data_t::fin (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t3finE"]], "esp_websocket_event_data_t::op_code (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t7op_codeE"]], "esp_websocket_event_data_t::payload_len (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t11payload_lenE"]], "esp_websocket_event_data_t::payload_offset (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t14payload_offsetE"]], "esp_websocket_event_data_t::user_context (c++ member)": [[0, "_CPPv4N26esp_websocket_event_data_t12user_contextE"]], "esp_websocket_event_id_t (c++ enum)": [[0, "_CPPv424esp_websocket_event_id_t"]], "esp_websocket_event_id_t::websocket_event_any (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE"]], "esp_websocket_event_id_t::websocket_event_closed (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE"]], "esp_websocket_event_id_t::websocket_event_connected (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE"]], "esp_websocket_event_id_t::websocket_event_data (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE"]], "esp_websocket_event_id_t::websocket_event_disconnected (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE"]], "esp_websocket_event_id_t::websocket_event_error (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE"]], "esp_websocket_event_id_t::websocket_event_max (c++ enumerator)": [[0, "_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"]], "esp_websocket_register_events (c++ function)": [[0, "_CPPv429esp_websocket_register_events29esp_websocket_client_handle_t24esp_websocket_event_id_t19esp_event_handler_tPv"]], "esp_websocket_transport_t (c++ enum)": [[0, "_CPPv425esp_websocket_transport_t"]], "esp_websocket_transport_t::websocket_transport_over_ssl (c++ enumerator)": [[0, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE"]], "esp_websocket_transport_t::websocket_transport_over_tcp (c++ enumerator)": [[0, "_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE"]], "esp_websocket_transport_t::websocket_transport_unknown (c++ enumerator)": [[0, "_CPPv4N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE"]]}}) \ No newline at end of file diff --git a/mdns/en/.buildinfo b/mdns/en/.buildinfo index 674b4e9e5..c7552479b 100644 --- a/mdns/en/.buildinfo +++ b/mdns/en/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: bdb9c4058bb57ea76ea7b85c00a2c40f +config: 2bccfe8e104e823c5c6f1fd9ba510b65 tags: 549b3d6d0415232fb7e35403b330ff49 diff --git a/mdns/en/_static/doctools.js b/mdns/en/_static/doctools.js index c3db08d1c..527b876ca 100644 --- a/mdns/en/_static/doctools.js +++ b/mdns/en/_static/doctools.js @@ -10,6 +10,13 @@ */ "use strict"; +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + const _ready = (callback) => { if (document.readyState !== "loading") { callback(); @@ -18,73 +25,11 @@ const _ready = (callback) => { } }; -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - /** * Small JavaScript module for the documentation. */ const Documentation = { init: () => { - Documentation.highlightSearchWords(); Documentation.initDomainIndexTable(); Documentation.initOnKeyListeners(); }, @@ -126,51 +71,6 @@ const Documentation = { Documentation.LOCALE = catalog.locale; }, - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords: () => { - const highlight = - new URLSearchParams(window.location.search).get("highlight") || ""; - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - const url = new URL(window.location); - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - }, - /** * helper function to focus on search bar */ @@ -210,15 +110,11 @@ const Documentation = { ) return; - const blacklistedElements = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", - ]); document.addEventListener("keydown", (event) => { - if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements - if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; if (!event.shiftKey) { switch (event.key) { @@ -240,10 +136,6 @@ const Documentation = { event.preventDefault(); } break; - case "Escape": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.hideSearchWords(); - event.preventDefault(); } } diff --git a/mdns/en/_static/pygments.css b/mdns/en/_static/pygments.css index 20c4814dc..691aeb82d 100644 --- a/mdns/en/_static/pygments.css +++ b/mdns/en/_static/pygments.css @@ -1,5 +1,10 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } -.highlight { background: #eeffcc; } +.highlight { background: #eeffcc; } .highlight .c { color: #408090; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #007020; font-weight: bold } /* Keyword */ diff --git a/mdns/en/_static/searchtools.js b/mdns/en/_static/searchtools.js index f2fb7d5cf..e89e34d4e 100644 --- a/mdns/en/_static/searchtools.js +++ b/mdns/en/_static/searchtools.js @@ -57,14 +57,14 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, highlightTerms, searchTerms) => { +const _displayItem = (item, searchTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const [docName, title, anchor, descr] = item; + const [docName, title, anchor, descr, score, _filename] = item; let listItem = document.createElement("li"); let requestUrl; @@ -82,10 +82,9 @@ const _displayItem = (item, highlightTerms, searchTerms) => { requestUrl = docUrlRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } - const params = new URLSearchParams(); - params.set("highlight", [...highlightTerms].join(" ")); let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + "?" + params.toString() + anchor; + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; linkEl.innerHTML = title; if (descr) listItem.appendChild(document.createElement("span")).innerHTML = @@ -96,7 +95,7 @@ const _displayItem = (item, highlightTerms, searchTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, highlightTerms) + Search.makeSearchSummary(data, searchTerms) ); }); Search.output.appendChild(listItem); @@ -116,15 +115,14 @@ const _finishSearch = (resultCount) => { const _displayNextItem = ( results, resultCount, - highlightTerms, searchTerms ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), highlightTerms, searchTerms); + _displayItem(results.pop(), searchTerms); setTimeout( - () => _displayNextItem(results, resultCount, highlightTerms, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms), 5 ); } @@ -237,6 +235,12 @@ const Search = { * execute search (requires search index to be loaded) */ query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -264,6 +268,10 @@ const Search = { } }); + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + // console.debug("SEARCH: searching for:"); // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); @@ -272,6 +280,40 @@ const Search = { let results = []; _removeChildren(document.getElementById("search-progress")); + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + // lookup as object objectTerms.forEach((term) => results.push(...Search.performObjectSearch(term, objectTerms)) @@ -318,7 +360,7 @@ const Search = { // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, highlightTerms, searchTerms); + _displayNextItem(results, results.length, searchTerms); }, /** @@ -399,8 +441,8 @@ const Search = { // prepare search const terms = Search._index.terms; const titleTerms = Search._index.titleterms; - const docNames = Search._index.docnames; const filenames = Search._index.filenames; + const docNames = Search._index.docnames; const titles = Search._index.titles; const scoreMap = new Map(); @@ -497,11 +539,9 @@ const Search = { /** * helper function to return a node containing the * search summary for a given text. keywords is a list - * of stemmed words, highlightWords is the list of normal, unstemmed - * words. the first one is used to find the occurrence, the - * latter for highlighting it. + * of stemmed words. */ - makeSearchSummary: (htmlText, keywords, highlightWords) => { + makeSearchSummary: (htmlText, keywords) => { const text = Search.htmlToText(htmlText); if (text === "") return null; @@ -519,10 +559,6 @@ const Search = { summary.classList.add("context"); summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - highlightWords.forEach((highlightWord) => - _highlightText(summary, highlightWord, "highlighted") - ); - return summary; }, }; diff --git a/mdns/en/_static/sphinx_highlight.js b/mdns/en/_static/sphinx_highlight.js new file mode 100644 index 000000000..aae669d7e --- /dev/null +++ b/mdns/en/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/mdns/en/genindex.html b/mdns/en/genindex.html index 907a25b47..f85c613f5 100644 --- a/mdns/en/genindex.html +++ b/mdns/en/genindex.html @@ -17,6 +17,7 @@ + @@ -90,7 +91,7 @@
  • »
  • Index
  • - Edit on GitHub + Edit on GitHub

  • diff --git a/mdns/en/index.html b/mdns/en/index.html index df149a4db..2d7fdf989 100644 --- a/mdns/en/index.html +++ b/mdns/en/index.html @@ -18,6 +18,7 @@ + @@ -115,7 +116,7 @@
  • »
  • mDNS Service
  • - Edit on GitHub + Edit on GitHub

  • @@ -139,20 +140,20 @@

    Example method to start mDNS for the STA interface and set hostname and default_instance:

    -
    void start_mdns_service()
    -{
    -    //initialize mDNS service
    -    esp_err_t err = mdns_init();
    -    if (err) {
    -        printf("MDNS Init failed: %d\n", err);
    -        return;
    -    }
    +
    void start_mdns_service()
    +{
    +    //initialize mDNS service
    +    esp_err_t err = mdns_init();
    +    if (err) {
    +        printf("MDNS Init failed: %d\n", err);
    +        return;
    +    }
     
    -    //set hostname
    -    mdns_hostname_set("my-esp32");
    -    //set default instance
    -    mdns_instance_name_set("Jhon's ESP32 Thing");
    -}
    +    //set hostname
    +    mdns_hostname_set("my-esp32");
    +    //set default instance
    +    mdns_instance_name_set("Jhon's ESP32 Thing");
    +}
     
    @@ -169,28 +170,28 @@

    Example method to add a few services and different properties:

    -
    void add_mdns_services()
    -{
    -    //add our services
    -    mdns_service_add(NULL, "_http", "_tcp", 80, NULL, 0);
    -    mdns_service_add(NULL, "_arduino", "_tcp", 3232, NULL, 0);
    -    mdns_service_add(NULL, "_myservice", "_udp", 1234, NULL, 0);
    +
    void add_mdns_services()
    +{
    +    //add our services
    +    mdns_service_add(NULL, "_http", "_tcp", 80, NULL, 0);
    +    mdns_service_add(NULL, "_arduino", "_tcp", 3232, NULL, 0);
    +    mdns_service_add(NULL, "_myservice", "_udp", 1234, NULL, 0);
     
    -    //NOTE: services must be added before their properties can be set
    -    //use custom instance for the web server
    -    mdns_service_instance_name_set("_http", "_tcp", "Jhon's ESP32 Web Server");
    +    //NOTE: services must be added before their properties can be set
    +    //use custom instance for the web server
    +    mdns_service_instance_name_set("_http", "_tcp", "Jhon's ESP32 Web Server");
     
    -    mdns_txt_item_t serviceTxtData[3] = {
    -        {"board","{esp32}"},
    -        {"u","user"},
    -        {"p","password"}
    -    };
    -    //set txt data for service (will free and replace current data)
    -    mdns_service_txt_set("_http", "_tcp", serviceTxtData, 3);
    +    mdns_txt_item_t serviceTxtData[3] = {
    +        {"board","{esp32}"},
    +        {"u","user"},
    +        {"p","password"}
    +    };
    +    //set txt data for service (will free and replace current data)
    +    mdns_service_txt_set("_http", "_tcp", serviceTxtData, 3);
     
    -    //change service port
    -    mdns_service_port_set("_myservice", "_udp", 4321);
    -}
    +    //change service port
    +    mdns_service_port_set("_myservice", "_udp", 4321);
    +}
     
    @@ -199,100 +200,100 @@

    mDNS provides methods for browsing for services and resolving host’s IP/IPv6 addresses.

    Results for services are returned as a linked list of mdns_result_t objects.

    Example method to resolve host IPs:

    -
    void resolve_mdns_host(const char * host_name)
    -{
    -    printf("Query A: %s.local", host_name);
    +
    void resolve_mdns_host(const char * host_name)
    +{
    +    printf("Query A: %s.local", host_name);
     
    -    struct ip4_addr addr;
    -    addr.addr = 0;
    +    struct ip4_addr addr;
    +    addr.addr = 0;
     
    -    esp_err_t err = mdns_query_a(host_name, 2000,  &addr);
    -    if(err){
    -        if(err == ESP_ERR_NOT_FOUND){
    -            printf("Host was not found!");
    -            return;
    -        }
    -        printf("Query Failed");
    -        return;
    -    }
    +    esp_err_t err = mdns_query_a(host_name, 2000,  &addr);
    +    if(err){
    +        if(err == ESP_ERR_NOT_FOUND){
    +            printf("Host was not found!");
    +            return;
    +        }
    +        printf("Query Failed");
    +        return;
    +    }
     
    -    printf(IPSTR, IP2STR(&addr));
    -}
    +    printf(IPSTR, IP2STR(&addr));
    +}
     

    Example method to resolve local services:

    -
    static const char * if_str[] = {"STA", "AP", "ETH", "MAX"};
    -static const char * ip_protocol_str[] = {"V4", "V6", "MAX"};
    +
    static const char * if_str[] = {"STA", "AP", "ETH", "MAX"};
    +static const char * ip_protocol_str[] = {"V4", "V6", "MAX"};
     
    -void mdns_print_results(mdns_result_t * results){
    -    mdns_result_t * r = results;
    -    mdns_ip_addr_t * a = NULL;
    -    int i = 1, t;
    -    while(r){
    -        printf("%d: Interface: %s, Type: %s\n", i++, if_str[r->tcpip_if], ip_protocol_str[r->ip_protocol]);
    -        if(r->instance_name){
    -            printf("  PTR : %s\n", r->instance_name);
    -        }
    -        if(r->hostname){
    -            printf("  SRV : %s.local:%u\n", r->hostname, r->port);
    -        }
    -        if(r->txt_count){
    -            printf("  TXT : [%u] ", r->txt_count);
    -            for(t=0; t<r->txt_count; t++){
    -                printf("%s=%s; ", r->txt[t].key, r->txt[t].value);
    -            }
    -            printf("\n");
    -        }
    -        a = r->addr;
    -        while(a){
    -            if(a->addr.type == IPADDR_TYPE_V6){
    -                printf("  AAAA: " IPV6STR "\n", IPV62STR(a->addr.u_addr.ip6));
    -            } else {
    -                printf("  A   : " IPSTR "\n", IP2STR(&(a->addr.u_addr.ip4)));
    -            }
    -            a = a->next;
    -        }
    -        r = r->next;
    -    }
    +void mdns_print_results(mdns_result_t * results){
    +    mdns_result_t * r = results;
    +    mdns_ip_addr_t * a = NULL;
    +    int i = 1, t;
    +    while(r){
    +        printf("%d: Interface: %s, Type: %s\n", i++, if_str[r->tcpip_if], ip_protocol_str[r->ip_protocol]);
    +        if(r->instance_name){
    +            printf("  PTR : %s\n", r->instance_name);
    +        }
    +        if(r->hostname){
    +            printf("  SRV : %s.local:%u\n", r->hostname, r->port);
    +        }
    +        if(r->txt_count){
    +            printf("  TXT : [%u] ", r->txt_count);
    +            for(t=0; t<r->txt_count; t++){
    +                printf("%s=%s; ", r->txt[t].key, r->txt[t].value);
    +            }
    +            printf("\n");
    +        }
    +        a = r->addr;
    +        while(a){
    +            if(a->addr.type == IPADDR_TYPE_V6){
    +                printf("  AAAA: " IPV6STR "\n", IPV62STR(a->addr.u_addr.ip6));
    +            } else {
    +                printf("  A   : " IPSTR "\n", IP2STR(&(a->addr.u_addr.ip4)));
    +            }
    +            a = a->next;
    +        }
    +        r = r->next;
    +    }
     
    -}
    +}
     
    -void find_mdns_service(const char * service_name, const char * proto)
    -{
    -    ESP_LOGI(TAG, "Query PTR: %s.%s.local", service_name, proto);
    +void find_mdns_service(const char * service_name, const char * proto)
    +{
    +    ESP_LOGI(TAG, "Query PTR: %s.%s.local", service_name, proto);
     
    -    mdns_result_t * results = NULL;
    -    esp_err_t err = mdns_query_ptr(service_name, proto, 3000, 20,  &results);
    -    if(err){
    -        ESP_LOGE(TAG, "Query Failed");
    -        return;
    -    }
    -    if(!results){
    -        ESP_LOGW(TAG, "No results found!");
    -        return;
    -    }
    +    mdns_result_t * results = NULL;
    +    esp_err_t err = mdns_query_ptr(service_name, proto, 3000, 20,  &results);
    +    if(err){
    +        ESP_LOGE(TAG, "Query Failed");
    +        return;
    +    }
    +    if(!results){
    +        ESP_LOGW(TAG, "No results found!");
    +        return;
    +    }
     
    -    mdns_print_results(results);
    -    mdns_query_results_free(results);
    -}
    +    mdns_print_results(results);
    +    mdns_query_results_free(results);
    +}
     

    Example of using the methods above:

    -
    void my_app_some_method(){
    -    //search for esp32-mdns.local
    -    resolve_mdns_host("esp32-mdns");
    +
    void my_app_some_method(){
    +    //search for esp32-mdns.local
    +    resolve_mdns_host("esp32-mdns");
     
    -    //search for HTTP servers
    -    find_mdns_service("_http", "_tcp");
    -    //or file servers
    -    find_mdns_service("_smb", "_tcp"); //windows sharing
    -    find_mdns_service("_afpovertcp", "_tcp"); //apple sharing
    -    find_mdns_service("_nfs", "_tcp"); //NFS server
    -    find_mdns_service("_ftp", "_tcp"); //FTP server
    -    //or networked printer
    -    find_mdns_service("_printer", "_tcp");
    -    find_mdns_service("_ipp", "_tcp");
    -}
    +    //search for HTTP servers
    +    find_mdns_service("_http", "_tcp");
    +    //or file servers
    +    find_mdns_service("_smb", "_tcp"); //windows sharing
    +    find_mdns_service("_afpovertcp", "_tcp"); //apple sharing
    +    find_mdns_service("_nfs", "_tcp"); //NFS server
    +    find_mdns_service("_ftp", "_tcp"); //FTP server
    +    //or networked printer
    +    find_mdns_service("_printer", "_tcp");
    +    find_mdns_service("_ipp", "_tcp");
    +}
     
    @@ -318,14 +319,14 @@

    Application Example

    -

    mDNS server/scanner example: .

    +

    mDNS server/scanner example: .

    API Reference

    Header File

    diff --git a/mdns/en/search.html b/mdns/en/search.html index 114a5b6e1..bd527eb14 100644 --- a/mdns/en/search.html +++ b/mdns/en/search.html @@ -18,6 +18,7 @@ + diff --git a/mdns/en/searchindex.js b/mdns/en/searchindex.js index acf81bee4..125de897a 100644 --- a/mdns/en/searchindex.js +++ b/mdns/en/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["mDNS Service"], "terms": {"\u4e2d\u6587": 0, "i": 0, "multicast": 0, "udp": 0, "us": 0, "provid": 0, "local": 0, "network": 0, "host": 0, "discoveri": 0, "instal": 0, "default": 0, "most": 0, "oper": 0, "system": 0, "avail": 0, "separ": 0, "packag": 0, "On": 0, "mac": 0, "o": 0, "call": 0, "bonjour": 0, "appl": 0, "releas": 0, "an": 0, "window": 0, "can": 0, "found": 0, "": 0, "support": 0, "page": 0, "linux": 0, "avahi": 0, "usual": 0, "hostnam": 0, "devic": 0, "respond": 0, "If": 0, "set": 0, "read": 0, "from": 0, "interfac": 0, "my": 0, "esp32": 0, "resolv": 0, "default_inst": 0, "friendli": 0, "name": 0, "your": 0, "like": 0, "jhon": 0, "thing": 0, "method": 0, "start": 0, "sta": 0, "void": 0, "start_mdns_servic": 0, "initi": 0, "esp_err_t": 0, "err": 0, "mdns_init": 0, "printf": 0, "init": 0, "fail": 0, "d": 0, "n": 0, "return": 0, "mdns_hostname_set": 0, "instanc": 0, "mdns_instance_name_set": 0, "advertis": 0, "inform": 0, "about": 0, "offer": 0, "each": 0, "defin": 0, "few": 0, "instance_nam": 0, "eesp32": 0, "web": 0, "server": 0, "service_typ": 0, "requir": 0, "prepend": 0, "underscor": 0, "some": 0, "common": 0, "here": 0, "proto": 0, "protocol": 0, "run": 0, "_tcp": 0, "_udp": 0, "port": 0, "txt": 0, "var": 0, "val": 0, "arrai": 0, "string": 0, "add": 0, "differ": 0, "add_mdns_servic": 0, "our": 0, "mdns_service_add": 0, "null": 0, "_http": 0, "80": 0, "0": 0, "_arduino": 0, "3232": 0, "_myservic": 0, "1234": 0, "note": 0, "must": 0, "ad": 0, "befor": 0, "custom": 0, "mdns_service_instance_name_set": 0, "mdns_txt_item_t": 0, "servicetxtdata": 0, "3": 0, "board": 0, "u": 0, "user": 0, "p": 0, "password": 0, "data": 0, "free": 0, "replac": 0, "current": 0, "mdns_service_txt_set": 0, "chang": 0, "mdns_service_port_set": 0, "4321": 0, "brows": 0, "ip": 0, "ipv6": 0, "address": 0, "result": 0, "ar": 0, "link": 0, "list": 0, "mdns_result_t": 0, "object": 0, "resolve_mdns_host": 0, "const": 0, "char": 0, "host_nam": 0, "A": 0, "struct": 0, "ip4_addr": 0, "addr": 0, "mdns_query_a": 0, "2000": 0, "esp_err_not_found": 0, "wa": 0, "ipstr": 0, "ip2str": 0, "static": 0, "if_str": 0, "ap": 0, "eth": 0, "max": 0, "ip_protocol_str": 0, "v4": 0, "v6": 0, "mdns_print_result": 0, "r": 0, "mdns_ip_addr_t": 0, "int": 0, "1": 0, "t": 0, "while": 0, "tcpip_if": 0, "ip_protocol": 0, "ptr": 0, "srv": 0, "txt_count": 0, "kei": 0, "valu": 0, "ipaddr_type_v6": 0, "aaaa": 0, "ipv6str": 0, "ipv62str": 0, "u_addr": 0, "ip6": 0, "els": 0, "ip4": 0, "next": 0, "find_mdns_servic": 0, "service_nam": 0, "esp_logi": 0, "tag": 0, "mdns_query_ptr": 0, "3000": 0, "20": 0, "esp_log": 0, "esp_logw": 0, "No": 0, "mdns_query_results_fre": 0, "abov": 0, "my_app_some_method": 0, "search": 0, "http": 0, "_smb": 0, "share": 0, "_afpovertcp": 0, "_nf": 0, "nf": 0, "_ftp": 0, "ftp": 0, "printer": 0, "_printer": 0, "_ipp": 0, "creat": 0, "task": 0, "low": 0, "prioriti": 0, "config_mdns_task_prior": 0, "config_freertos_unicor": 0, "enabel": 0, "pin": 0, "cpu0": 0, "config_mdns_task_affin": 0, "pleas": 0, "check": 0, "maxim": 0, "more": 0, "detail": 0, "stack": 0, "size": 0, "configur": 0, "config_mdns_task_stack_s": 0, "scanner": 0, "includ": 0, "h": 0, "given": 0, "esp_ok": 0, "success": 0, "esp_err_invalid_st": 0, "when": 0, "regist": 0, "event": 0, "handler": 0, "esp_err_no_mem": 0, "memori": 0, "error": 0, "esp_fail": 0, "mdns_free": 0, "stop": 0, "you": 0, "want": 0, "paramet": 0, "esp_err_invalid_arg": 0, "mdns_delegate_hostname_add": 0, "address_list": 0, "deleg": 0, "repli": 0, "thi": 0, "The": 0, "mdns_delegate_hostname_remov": 0, "remov": 0, "all": 0, "also": 0, "bool": 0, "mdns_hostname_exist": 0, "whether": 0, "ha": 0, "been": 0, "true": 0, "fals": 0, "uint16_t": 0, "size_t": 0, "num_item": 0, "length": 0, "item": 0, "automat": 0, "decid": 0, "strlen": 0, "global": 0, "mdns_multiple_inst": 0, "config": 0, "option": 0, "need": 0, "enabl": 0, "multipl": 0, "same": 0, "etc": 0, "eg": 0, "other": 0, "2": 0, "number": 0, "mdns_service_add_for_host": 0, "mdns_service_exist": 0, "correspond": 0, "mdns_service_exists_with_inst": 0, "mdns_service_remov": 0, "mdns_service_remove_for_host": 0, "mdns_service_instance_name_set_for_host": 0, "instance_old": 0, "origin": 0, "mdns_service_port_set_for_host": 0, "uint8_t": 0, "mdns_service_txt_set_for_host": 0, "mdns_service_txt_item_set": 0, "record": 0, "updat": 0, "new": 0, "mdns_service_txt_item_set_with_explicit_value_len": 0, "value_len": 0, "mdns_service_txt_item_set_for_host": 0, "mdns_service_txt_item_set_for_host_with_explicit_value_len": 0, "mdns_service_txt_item_remov": 0, "mdns_service_txt_item_remove_for_host": 0, "mdns_service_subtype_add_for_host": 0, "subtyp": 0, "find": 0, "first": 0, "mdns_service_remove_al": 0, "mdns_query_async_delet": 0, "mdns_search_once_t": 0, "delet": 0, "finish": 0, "onli": 0, "after": 0, "end": 0, "pointer": 0, "mdns_query_async_get_result": 0, "uint32_t": 0, "timeout": 0, "num_result": 0, "get": 0, "output": 0, "via": 0, "onc": 0, "although": 0, "have": 0, "freed": 0, "manual": 0, "time": 0, "millisecond": 0, "wait": 0, "answer": 0, "actual": 0, "ignor": 0, "over": 0, "mdns_query_async_new": 0, "max_result": 0, "mdns_query_notify_t": 0, "notifi": 0, "asynchronous": 0, "test": 0, "progress": 0, "mdns_type_": 0, "dure": 0, "which": 0, "activ": 0, "maximum": 0, "collect": 0, "notif": 0, "readi": 0, "mdns_search_once_": 0, "successfulli": 0, "otherwis": 0, "mdns_query_gener": 0, "mdns_query_transmission_type_t": 0, "transmission_typ": 0, "gener": 0, "follow": 0, "deriv": 0, "one": 0, "either": 0, "unicast": 0, "below": 0, "mdns_queri": 0, "send": 0, "mdns_query_srv": 0, "mdns_query_txt": 0, "esp_ip4_addr_t": 0, "look": 0, "mdns_register_netif": 0, "esp_netif_t": 0, "esp_netif": 0, "preconfigur": 0, "ani": 0, "standard": 0, "wifi": 0, "ethernet": 0, "driver": 0, "kind": 0, "esp": 0, "netif": 0, "alreadi": 0, "enough": 0, "see": 0, "config_mdns_max_interfac": 0, "mdns_unregister_netif": 0, "unregist": 0, "mdns_netif_act": 0, "mdns_event_actions_t": 0, "event_act": 0, "desir": 0, "state": 0, "action": 0, "disabl": 0, "announc": 0, "packet": 0, "probe": 0, "conflict": 0, "bye": 0, "specifi": 0, "specif": 0, "could": 0, "connect": 0, "them": 0, "disconnect": 0, "ipv4": 0, "basic": 0, "text": 0, "public": 0, "member": 0, "mdns_ip_addr_": 0, "esp_ip_addr_t": 0, "last": 0, "mdns_result_": 0, "ttl": 0, "live": 0, "mdns_ip_protocol_t": 0, "srevic": 0, "txt_value_len": 0, "len": 0, "mdns_type_a": 0, "mdns_type_ptr": 0, "mdns_type_txt": 0, "mdns_type_aaaa": 0, "mdns_type_srv": 0, "mdns_type_opt": 0, "mdns_type_nsec": 0, "mdns_type_ani": 0, "typedef": 0, "asynchron": 0, "handl": 0, "enum": 0, "mdns_event_enable_ip4": 0, "mdns_event_enable_ip6": 0, "mdns_event_announce_ip4": 0, "mdns_event_announce_ip6": 0, "mdns_event_disable_ip4": 0, "mdns_event_disable_ip6": 0, "mdns_ip_protocol_v4": 0, "mdns_ip_protocol_v6": 0, "mdns_ip_protocol_max": 0, "explicitli": 0, "mdns_query_unicast": 0, "mdns_query_multicast": 0}, "objects": {"": [[0, 0, 1, "c.MDNS_TYPE_A", "MDNS_TYPE_A"], [0, 0, 1, "c.MDNS_TYPE_AAAA", "MDNS_TYPE_AAAA"], [0, 0, 1, "c.MDNS_TYPE_ANY", "MDNS_TYPE_ANY"], [0, 0, 1, "c.MDNS_TYPE_NSEC", "MDNS_TYPE_NSEC"], [0, 0, 1, "c.MDNS_TYPE_OPT", "MDNS_TYPE_OPT"], [0, 0, 1, "c.MDNS_TYPE_PTR", "MDNS_TYPE_PTR"], [0, 0, 1, "c.MDNS_TYPE_SRV", "MDNS_TYPE_SRV"], [0, 0, 1, "c.MDNS_TYPE_TXT", "MDNS_TYPE_TXT"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "MDNS_EVENT_ENABLE_IP6"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "MDNS_IP_PROTOCOL_V6"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::address_list"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::hostname"], [0, 2, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove"], [0, 3, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove::hostname"], [0, 4, 1, "_CPPv420mdns_event_actions_t", "mdns_event_actions_t"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP6"], [0, 2, 1, "_CPPv49mdns_freev", "mdns_free"], [0, 2, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists"], [0, 3, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists::hostname"], [0, 2, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set"], [0, 3, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set::hostname"], [0, 2, 1, "_CPPv49mdns_initv", "mdns_init"], [0, 2, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set"], [0, 3, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set::instance_name"], [0, 5, 1, "_CPPv414mdns_ip_addr_s", "mdns_ip_addr_s"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4addrE", "mdns_ip_addr_s::addr"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4nextE", "mdns_ip_addr_s::next"], [0, 7, 1, "_CPPv414mdns_ip_addr_t", "mdns_ip_addr_t"], [0, 4, 1, "_CPPv418mdns_ip_protocol_t", "mdns_ip_protocol_t"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V6"], [0, 2, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::esp_netif"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::event_action"], [0, 2, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::max_results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::name"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::proto"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::service_type"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::timeout"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::type"], [0, 2, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::addr"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::host_name"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::timeout"], [0, 2, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete"], [0, 3, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete::search"], [0, 2, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::num_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::search"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::timeout"], [0, 2, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::max_results"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::name"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::notifier"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::proto"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::service_type"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::timeout"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::type"], [0, 2, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::max_results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::name"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::proto"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::service_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::timeout"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::transmission_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::type"], [0, 7, 1, "_CPPv419mdns_query_notify_t", "mdns_query_notify_t"], [0, 2, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::max_results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::proto"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::service_type"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::timeout"], [0, 2, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free"], [0, 3, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free::results"], [0, 2, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::instance_name"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::proto"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::result"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::service_type"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::timeout"], [0, 4, 1, "_CPPv430mdns_query_transmission_type_t", "mdns_query_transmission_type_t"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::instance_name"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::proto"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::result"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::service_type"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::timeout"], [0, 2, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif"], [0, 3, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif::esp_netif"], [0, 5, 1, "_CPPv413mdns_result_s", "mdns_result_s"], [0, 6, 1, "_CPPv4N13mdns_result_s4addrE", "mdns_result_s::addr"], [0, 6, 1, "_CPPv4N13mdns_result_s9esp_netifE", "mdns_result_s::esp_netif"], [0, 6, 1, "_CPPv4N13mdns_result_s8hostnameE", "mdns_result_s::hostname"], [0, 6, 1, "_CPPv4N13mdns_result_s13instance_nameE", "mdns_result_s::instance_name"], [0, 6, 1, "_CPPv4N13mdns_result_s11ip_protocolE", "mdns_result_s::ip_protocol"], [0, 6, 1, "_CPPv4N13mdns_result_s4nextE", "mdns_result_s::next"], [0, 6, 1, "_CPPv4N13mdns_result_s4portE", "mdns_result_s::port"], [0, 6, 1, "_CPPv4N13mdns_result_s5protoE", "mdns_result_s::proto"], [0, 6, 1, "_CPPv4N13mdns_result_s12service_typeE", "mdns_result_s::service_type"], [0, 6, 1, "_CPPv4N13mdns_result_s3ttlE", "mdns_result_s::ttl"], [0, 6, 1, "_CPPv4N13mdns_result_s3txtE", "mdns_result_s::txt"], [0, 6, 1, "_CPPv4N13mdns_result_s9txt_countE", "mdns_result_s::txt_count"], [0, 6, 1, "_CPPv4N13mdns_result_s13txt_value_lenE", "mdns_result_s::txt_value_len"], [0, 7, 1, "_CPPv413mdns_result_t", "mdns_result_t"], [0, 7, 1, "_CPPv418mdns_search_once_t", "mdns_search_once_t"], [0, 2, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::instance_name"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::num_items"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::port"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::proto"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::service_type"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::txt"], [0, 2, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::hostname"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::instance_name"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::num_items"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::port"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::proto"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::service_type"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::txt"], [0, 2, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::hostname"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::proto"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::service_type"], [0, 2, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::hostname"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::proto"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::service_type"], [0, 2, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::instance_name"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::proto"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::service_type"], [0, 2, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::hostname"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_name"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_old"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::proto"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::service_type"], [0, 2, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::port"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::proto"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::service_type"], [0, 2, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::hostname"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::instance"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::port"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::proto"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::service_type"], [0, 2, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::proto"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::service_type"], [0, 2, 1, "_CPPv423mdns_service_remove_allv", "mdns_service_remove_all"], [0, 2, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::hostname"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::instance"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::proto"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::service_type"], [0, 2, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::hostname"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::instance_name"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::proto"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::service_type"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::subtype"], [0, 2, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::key"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::proto"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::service_type"], [0, 2, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::hostname"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::instance"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::key"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::proto"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::service_type"], [0, 2, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::key"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::proto"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::service_type"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::value"], [0, 2, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::hostname"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::instance"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::key"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::proto"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::service_type"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::value"], [0, 2, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::hostname"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::instance"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::key"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::key"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::num_items"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::proto"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::service_type"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::txt"], [0, 2, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::hostname"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::instance"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::num_items"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::proto"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::service_type"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::txt"], [0, 5, 1, "_CPPv415mdns_txt_item_t", "mdns_txt_item_t"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t3keyE", "mdns_txt_item_t::key"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t5valueE", "mdns_txt_item_t::value"], [0, 2, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif"], [0, 3, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif::esp_netif"]]}, "objtypes": {"0": "c:macro", "1": "cpp:enumerator", "2": "cpp:function", "3": "cpp:functionParam", "4": "cpp:enum", "5": "cpp:class", "6": "cpp:member", "7": "cpp:type"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "enumerator", "C++ enumerator"], "2": ["cpp", "function", "C++ function"], "3": ["cpp", "functionParam", "C++ function parameter"], "4": ["cpp", "enum", "C++ enum"], "5": ["cpp", "class", "C++ class"], "6": ["cpp", "member", "C++ member"], "7": ["cpp", "type", "C++ type"]}, "titleterms": {"mdn": 0, "servic": 0, "overview": 0, "properti": 0, "queri": 0, "perform": 0, "optim": 0, "execut": 0, "speed": 0, "minim": 0, "ram": 0, "usag": 0, "applic": 0, "exampl": 0, "api": 0, "refer": 0, "header": 0, "file": 0, "function": 0, "structur": 0, "macro": 0, "type": 0, "definit": 0, "enumer": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["mDNS Service"], "terms": {"\u4e2d\u6587": 0, "i": 0, "multicast": 0, "udp": 0, "us": 0, "provid": 0, "local": 0, "network": 0, "host": 0, "discoveri": 0, "instal": 0, "default": 0, "most": 0, "oper": 0, "system": 0, "avail": 0, "separ": 0, "packag": 0, "On": 0, "mac": 0, "o": 0, "call": 0, "bonjour": 0, "appl": 0, "releas": 0, "an": 0, "window": 0, "can": 0, "found": 0, "": 0, "support": 0, "page": 0, "linux": 0, "avahi": 0, "usual": 0, "hostnam": 0, "devic": 0, "respond": 0, "If": 0, "set": 0, "read": 0, "from": 0, "interfac": 0, "my": 0, "esp32": 0, "resolv": 0, "default_inst": 0, "friendli": 0, "name": 0, "your": 0, "like": 0, "jhon": 0, "thing": 0, "method": 0, "start": 0, "sta": 0, "void": 0, "start_mdns_servic": 0, "initi": 0, "esp_err_t": 0, "err": 0, "mdns_init": 0, "printf": 0, "init": 0, "fail": 0, "d": 0, "n": 0, "return": 0, "mdns_hostname_set": 0, "instanc": 0, "mdns_instance_name_set": 0, "advertis": 0, "inform": 0, "about": 0, "offer": 0, "each": 0, "defin": 0, "few": 0, "instance_nam": 0, "eesp32": 0, "web": 0, "server": 0, "service_typ": 0, "requir": 0, "prepend": 0, "underscor": 0, "some": 0, "common": 0, "here": 0, "proto": 0, "protocol": 0, "run": 0, "_tcp": 0, "_udp": 0, "port": 0, "txt": 0, "var": 0, "val": 0, "arrai": 0, "string": 0, "add": 0, "differ": 0, "add_mdns_servic": 0, "our": 0, "mdns_service_add": 0, "null": 0, "_http": 0, "80": 0, "0": 0, "_arduino": 0, "3232": 0, "_myservic": 0, "1234": 0, "note": 0, "must": 0, "ad": 0, "befor": 0, "custom": 0, "mdns_service_instance_name_set": 0, "mdns_txt_item_t": 0, "servicetxtdata": 0, "3": 0, "board": 0, "u": 0, "user": 0, "p": 0, "password": 0, "data": 0, "free": 0, "replac": 0, "current": 0, "mdns_service_txt_set": 0, "chang": 0, "mdns_service_port_set": 0, "4321": 0, "brows": 0, "ip": 0, "ipv6": 0, "address": 0, "result": 0, "ar": 0, "link": 0, "list": 0, "mdns_result_t": 0, "object": 0, "resolve_mdns_host": 0, "const": 0, "char": 0, "host_nam": 0, "A": 0, "struct": 0, "ip4_addr": 0, "addr": 0, "mdns_query_a": 0, "2000": 0, "esp_err_not_found": 0, "wa": 0, "ipstr": 0, "ip2str": 0, "static": 0, "if_str": 0, "ap": 0, "eth": 0, "max": 0, "ip_protocol_str": 0, "v4": 0, "v6": 0, "mdns_print_result": 0, "r": 0, "mdns_ip_addr_t": 0, "int": 0, "1": 0, "t": 0, "while": 0, "tcpip_if": 0, "ip_protocol": 0, "ptr": 0, "srv": 0, "txt_count": 0, "kei": 0, "valu": 0, "ipaddr_type_v6": 0, "aaaa": 0, "ipv6str": 0, "ipv62str": 0, "u_addr": 0, "ip6": 0, "els": 0, "ip4": 0, "next": 0, "find_mdns_servic": 0, "service_nam": 0, "esp_logi": 0, "tag": 0, "mdns_query_ptr": 0, "3000": 0, "20": 0, "esp_log": 0, "esp_logw": 0, "No": 0, "mdns_query_results_fre": 0, "abov": 0, "my_app_some_method": 0, "search": 0, "http": 0, "_smb": 0, "share": 0, "_afpovertcp": 0, "_nf": 0, "nf": 0, "_ftp": 0, "ftp": 0, "printer": 0, "_printer": 0, "_ipp": 0, "creat": 0, "task": 0, "low": 0, "prioriti": 0, "config_mdns_task_prior": 0, "config_freertos_unicor": 0, "enabel": 0, "pin": 0, "cpu0": 0, "config_mdns_task_affin": 0, "pleas": 0, "check": 0, "maxim": 0, "more": 0, "detail": 0, "stack": 0, "size": 0, "configur": 0, "config_mdns_task_stack_s": 0, "scanner": 0, "includ": 0, "h": 0, "given": 0, "esp_ok": 0, "success": 0, "esp_err_invalid_st": 0, "when": 0, "regist": 0, "event": 0, "handler": 0, "esp_err_no_mem": 0, "memori": 0, "error": 0, "esp_fail": 0, "mdns_free": 0, "stop": 0, "you": 0, "want": 0, "paramet": 0, "esp_err_invalid_arg": 0, "mdns_delegate_hostname_add": 0, "address_list": 0, "deleg": 0, "repli": 0, "thi": 0, "The": 0, "mdns_delegate_hostname_remov": 0, "remov": 0, "all": 0, "also": 0, "bool": 0, "mdns_hostname_exist": 0, "whether": 0, "ha": 0, "been": 0, "true": 0, "fals": 0, "uint16_t": 0, "size_t": 0, "num_item": 0, "length": 0, "item": 0, "automat": 0, "decid": 0, "strlen": 0, "global": 0, "mdns_multiple_inst": 0, "config": 0, "option": 0, "need": 0, "enabl": 0, "multipl": 0, "same": 0, "etc": 0, "eg": 0, "other": 0, "2": 0, "number": 0, "mdns_service_add_for_host": 0, "mdns_service_exist": 0, "correspond": 0, "mdns_service_exists_with_inst": 0, "mdns_service_remov": 0, "mdns_service_remove_for_host": 0, "mdns_service_instance_name_set_for_host": 0, "instance_old": 0, "origin": 0, "mdns_service_port_set_for_host": 0, "uint8_t": 0, "mdns_service_txt_set_for_host": 0, "mdns_service_txt_item_set": 0, "record": 0, "updat": 0, "new": 0, "mdns_service_txt_item_set_with_explicit_value_len": 0, "value_len": 0, "mdns_service_txt_item_set_for_host": 0, "mdns_service_txt_item_set_for_host_with_explicit_value_len": 0, "mdns_service_txt_item_remov": 0, "mdns_service_txt_item_remove_for_host": 0, "mdns_service_subtype_add_for_host": 0, "subtyp": 0, "find": 0, "first": 0, "mdns_service_remove_al": 0, "mdns_query_async_delet": 0, "mdns_search_once_t": 0, "delet": 0, "finish": 0, "onli": 0, "after": 0, "end": 0, "pointer": 0, "mdns_query_async_get_result": 0, "uint32_t": 0, "timeout": 0, "num_result": 0, "get": 0, "output": 0, "via": 0, "onc": 0, "although": 0, "have": 0, "freed": 0, "manual": 0, "time": 0, "millisecond": 0, "wait": 0, "answer": 0, "actual": 0, "ignor": 0, "over": 0, "mdns_query_async_new": 0, "max_result": 0, "mdns_query_notify_t": 0, "notifi": 0, "asynchronous": 0, "test": 0, "progress": 0, "mdns_type_": 0, "dure": 0, "which": 0, "activ": 0, "maximum": 0, "collect": 0, "notif": 0, "readi": 0, "mdns_search_once_": 0, "successfulli": 0, "otherwis": 0, "mdns_query_gener": 0, "mdns_query_transmission_type_t": 0, "transmission_typ": 0, "gener": 0, "follow": 0, "deriv": 0, "one": 0, "either": 0, "unicast": 0, "below": 0, "mdns_queri": 0, "send": 0, "mdns_query_srv": 0, "mdns_query_txt": 0, "esp_ip4_addr_t": 0, "look": 0, "mdns_register_netif": 0, "esp_netif_t": 0, "esp_netif": 0, "preconfigur": 0, "ani": 0, "standard": 0, "wifi": 0, "ethernet": 0, "driver": 0, "kind": 0, "esp": 0, "netif": 0, "alreadi": 0, "enough": 0, "see": 0, "config_mdns_max_interfac": 0, "mdns_unregister_netif": 0, "unregist": 0, "mdns_netif_act": 0, "mdns_event_actions_t": 0, "event_act": 0, "desir": 0, "state": 0, "action": 0, "disabl": 0, "announc": 0, "packet": 0, "probe": 0, "conflict": 0, "bye": 0, "specifi": 0, "specif": 0, "could": 0, "connect": 0, "them": 0, "disconnect": 0, "ipv4": 0, "basic": 0, "text": 0, "public": 0, "member": 0, "mdns_ip_addr_": 0, "esp_ip_addr_t": 0, "last": 0, "mdns_result_": 0, "ttl": 0, "live": 0, "mdns_ip_protocol_t": 0, "srevic": 0, "txt_value_len": 0, "len": 0, "mdns_type_a": 0, "mdns_type_ptr": 0, "mdns_type_txt": 0, "mdns_type_aaaa": 0, "mdns_type_srv": 0, "mdns_type_opt": 0, "mdns_type_nsec": 0, "mdns_type_ani": 0, "typedef": 0, "asynchron": 0, "handl": 0, "enum": 0, "mdns_event_enable_ip4": 0, "mdns_event_enable_ip6": 0, "mdns_event_announce_ip4": 0, "mdns_event_announce_ip6": 0, "mdns_event_disable_ip4": 0, "mdns_event_disable_ip6": 0, "mdns_ip_protocol_v4": 0, "mdns_ip_protocol_v6": 0, "mdns_ip_protocol_max": 0, "explicitli": 0, "mdns_query_unicast": 0, "mdns_query_multicast": 0}, "objects": {"": [[0, 0, 1, "c.MDNS_TYPE_A", "MDNS_TYPE_A"], [0, 0, 1, "c.MDNS_TYPE_AAAA", "MDNS_TYPE_AAAA"], [0, 0, 1, "c.MDNS_TYPE_ANY", "MDNS_TYPE_ANY"], [0, 0, 1, "c.MDNS_TYPE_NSEC", "MDNS_TYPE_NSEC"], [0, 0, 1, "c.MDNS_TYPE_OPT", "MDNS_TYPE_OPT"], [0, 0, 1, "c.MDNS_TYPE_PTR", "MDNS_TYPE_PTR"], [0, 0, 1, "c.MDNS_TYPE_SRV", "MDNS_TYPE_SRV"], [0, 0, 1, "c.MDNS_TYPE_TXT", "MDNS_TYPE_TXT"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "MDNS_EVENT_ENABLE_IP6"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "MDNS_IP_PROTOCOL_V6"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::address_list"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::hostname"], [0, 2, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove"], [0, 3, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove::hostname"], [0, 4, 1, "_CPPv420mdns_event_actions_t", "mdns_event_actions_t"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP6"], [0, 2, 1, "_CPPv49mdns_freev", "mdns_free"], [0, 2, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists"], [0, 3, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists::hostname"], [0, 2, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set"], [0, 3, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set::hostname"], [0, 2, 1, "_CPPv49mdns_initv", "mdns_init"], [0, 2, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set"], [0, 3, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set::instance_name"], [0, 5, 1, "_CPPv414mdns_ip_addr_s", "mdns_ip_addr_s"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4addrE", "mdns_ip_addr_s::addr"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4nextE", "mdns_ip_addr_s::next"], [0, 7, 1, "_CPPv414mdns_ip_addr_t", "mdns_ip_addr_t"], [0, 4, 1, "_CPPv418mdns_ip_protocol_t", "mdns_ip_protocol_t"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V6"], [0, 2, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::esp_netif"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::event_action"], [0, 2, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::max_results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::name"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::proto"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::service_type"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::timeout"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::type"], [0, 2, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::addr"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::host_name"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::timeout"], [0, 2, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete"], [0, 3, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete::search"], [0, 2, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::num_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::search"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::timeout"], [0, 2, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::max_results"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::name"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::notifier"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::proto"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::service_type"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::timeout"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::type"], [0, 2, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::max_results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::name"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::proto"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::service_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::timeout"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::transmission_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::type"], [0, 7, 1, "_CPPv419mdns_query_notify_t", "mdns_query_notify_t"], [0, 2, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::max_results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::proto"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::service_type"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::timeout"], [0, 2, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free"], [0, 3, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free::results"], [0, 2, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::instance_name"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::proto"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::result"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::service_type"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::timeout"], [0, 4, 1, "_CPPv430mdns_query_transmission_type_t", "mdns_query_transmission_type_t"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::instance_name"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::proto"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::result"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::service_type"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::timeout"], [0, 2, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif"], [0, 3, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif::esp_netif"], [0, 5, 1, "_CPPv413mdns_result_s", "mdns_result_s"], [0, 6, 1, "_CPPv4N13mdns_result_s4addrE", "mdns_result_s::addr"], [0, 6, 1, "_CPPv4N13mdns_result_s9esp_netifE", "mdns_result_s::esp_netif"], [0, 6, 1, "_CPPv4N13mdns_result_s8hostnameE", "mdns_result_s::hostname"], [0, 6, 1, "_CPPv4N13mdns_result_s13instance_nameE", "mdns_result_s::instance_name"], [0, 6, 1, "_CPPv4N13mdns_result_s11ip_protocolE", "mdns_result_s::ip_protocol"], [0, 6, 1, "_CPPv4N13mdns_result_s4nextE", "mdns_result_s::next"], [0, 6, 1, "_CPPv4N13mdns_result_s4portE", "mdns_result_s::port"], [0, 6, 1, "_CPPv4N13mdns_result_s5protoE", "mdns_result_s::proto"], [0, 6, 1, "_CPPv4N13mdns_result_s12service_typeE", "mdns_result_s::service_type"], [0, 6, 1, "_CPPv4N13mdns_result_s3ttlE", "mdns_result_s::ttl"], [0, 6, 1, "_CPPv4N13mdns_result_s3txtE", "mdns_result_s::txt"], [0, 6, 1, "_CPPv4N13mdns_result_s9txt_countE", "mdns_result_s::txt_count"], [0, 6, 1, "_CPPv4N13mdns_result_s13txt_value_lenE", "mdns_result_s::txt_value_len"], [0, 7, 1, "_CPPv413mdns_result_t", "mdns_result_t"], [0, 7, 1, "_CPPv418mdns_search_once_t", "mdns_search_once_t"], [0, 2, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::instance_name"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::num_items"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::port"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::proto"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::service_type"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::txt"], [0, 2, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::hostname"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::instance_name"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::num_items"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::port"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::proto"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::service_type"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::txt"], [0, 2, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::hostname"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::proto"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::service_type"], [0, 2, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::hostname"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::proto"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::service_type"], [0, 2, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::instance_name"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::proto"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::service_type"], [0, 2, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::hostname"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_name"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_old"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::proto"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::service_type"], [0, 2, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::port"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::proto"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::service_type"], [0, 2, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::hostname"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::instance"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::port"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::proto"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::service_type"], [0, 2, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::proto"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::service_type"], [0, 2, 1, "_CPPv423mdns_service_remove_allv", "mdns_service_remove_all"], [0, 2, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::hostname"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::instance"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::proto"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::service_type"], [0, 2, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::hostname"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::instance_name"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::proto"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::service_type"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::subtype"], [0, 2, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::key"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::proto"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::service_type"], [0, 2, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::hostname"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::instance"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::key"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::proto"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::service_type"], [0, 2, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::key"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::proto"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::service_type"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::value"], [0, 2, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::hostname"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::instance"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::key"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::proto"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::service_type"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::value"], [0, 2, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::hostname"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::instance"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::key"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::key"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::num_items"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::proto"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::service_type"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::txt"], [0, 2, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::hostname"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::instance"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::num_items"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::proto"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::service_type"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::txt"], [0, 5, 1, "_CPPv415mdns_txt_item_t", "mdns_txt_item_t"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t3keyE", "mdns_txt_item_t::key"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t5valueE", "mdns_txt_item_t::value"], [0, 2, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif"], [0, 3, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif::esp_netif"]]}, "objtypes": {"0": "c:macro", "1": "cpp:enumerator", "2": "cpp:function", "3": "cpp:functionParam", "4": "cpp:enum", "5": "cpp:class", "6": "cpp:member", "7": "cpp:type"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "enumerator", "C++ enumerator"], "2": ["cpp", "function", "C++ function"], "3": ["cpp", "functionParam", "C++ function parameter"], "4": ["cpp", "enum", "C++ enum"], "5": ["cpp", "class", "C++ class"], "6": ["cpp", "member", "C++ member"], "7": ["cpp", "type", "C++ type"]}, "titleterms": {"mdn": 0, "servic": 0, "overview": 0, "properti": 0, "queri": 0, "perform": 0, "optim": 0, "execut": 0, "speed": 0, "minim": 0, "ram": 0, "usag": 0, "applic": 0, "exampl": 0, "api": 0, "refer": 0, "header": 0, "file": 0, "function": 0, "structur": 0, "macro": 0, "type": 0, "definit": 0, "enumer": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"mDNS Service": [[0, "mdns-service"]], "Overview": [[0, "overview"]], "mDNS Properties": [[0, "mdns-properties"]], "mDNS Services": [[0, "mdns-services"]], "mDNS Query": [[0, "mdns-query"]], "Performance Optimization": [[0, "performance-optimization"]], "Execution Speed": [[0, "execution-speed"]], "Minimizing RAM Usage": [[0, "minimizing-ram-usage"]], "Application Example": [[0, "application-example"]], "API Reference": [[0, "api-reference"]], "Header File": [[0, "header-file"]], "Functions": [[0, "functions"]], "Structures": [[0, "structures"]], "Macros": [[0, "macros"]], "Type Definitions": [[0, "type-definitions"]], "Enumerations": [[0, "enumerations"]]}, "indexentries": {"mdns_type_a (c macro)": [[0, "c.MDNS_TYPE_A"]], "mdns_type_aaaa (c macro)": [[0, "c.MDNS_TYPE_AAAA"]], "mdns_type_any (c macro)": [[0, "c.MDNS_TYPE_ANY"]], "mdns_type_nsec (c macro)": [[0, "c.MDNS_TYPE_NSEC"]], "mdns_type_opt (c macro)": [[0, "c.MDNS_TYPE_OPT"]], "mdns_type_ptr (c macro)": [[0, "c.MDNS_TYPE_PTR"]], "mdns_type_srv (c macro)": [[0, "c.MDNS_TYPE_SRV"]], "mdns_type_txt (c macro)": [[0, "c.MDNS_TYPE_TXT"]], "mdns_delegate_hostname_add (c++ function)": [[0, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t"]], "mdns_delegate_hostname_remove (c++ function)": [[0, "_CPPv429mdns_delegate_hostname_removePKc"]], "mdns_event_actions_t (c++ enum)": [[0, "_CPPv420mdns_event_actions_t"]], "mdns_event_actions_t::mdns_event_announce_ip4 (c++ enumerator)": [[0, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E"]], "mdns_event_actions_t::mdns_event_announce_ip6 (c++ enumerator)": [[0, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E"]], "mdns_event_actions_t::mdns_event_disable_ip4 (c++ enumerator)": [[0, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E"]], "mdns_event_actions_t::mdns_event_disable_ip6 (c++ enumerator)": [[0, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E"]], "mdns_event_actions_t::mdns_event_enable_ip4 (c++ enumerator)": [[0, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E"]], "mdns_event_actions_t::mdns_event_enable_ip6 (c++ enumerator)": [[0, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E"]], "mdns_free (c++ function)": [[0, "_CPPv49mdns_freev"]], "mdns_hostname_exists (c++ function)": [[0, "_CPPv420mdns_hostname_existsPKc"]], "mdns_hostname_set (c++ function)": [[0, "_CPPv417mdns_hostname_setPKc"]], "mdns_init (c++ function)": [[0, "_CPPv49mdns_initv"]], "mdns_instance_name_set (c++ function)": [[0, "_CPPv422mdns_instance_name_setPKc"]], "mdns_ip_addr_s (c++ struct)": [[0, "_CPPv414mdns_ip_addr_s"]], "mdns_ip_addr_s::addr (c++ member)": [[0, "_CPPv4N14mdns_ip_addr_s4addrE"]], "mdns_ip_addr_s::next (c++ member)": [[0, "_CPPv4N14mdns_ip_addr_s4nextE"]], "mdns_ip_addr_t (c++ type)": [[0, "_CPPv414mdns_ip_addr_t"]], "mdns_ip_protocol_t (c++ enum)": [[0, "_CPPv418mdns_ip_protocol_t"]], "mdns_ip_protocol_t::mdns_ip_protocol_max (c++ enumerator)": [[0, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE"]], "mdns_ip_protocol_t::mdns_ip_protocol_v4 (c++ enumerator)": [[0, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E"]], "mdns_ip_protocol_t::mdns_ip_protocol_v6 (c++ enumerator)": [[0, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E"]], "mdns_netif_action (c++ function)": [[0, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t"]], "mdns_query (c++ function)": [[0, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t"]], "mdns_query_a (c++ function)": [[0, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t"]], "mdns_query_async_delete (c++ function)": [[0, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t"]], "mdns_query_async_get_results (c++ function)": [[0, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t"]], "mdns_query_async_new (c++ function)": [[0, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t"]], "mdns_query_generic (c++ function)": [[0, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t"]], "mdns_query_notify_t (c++ type)": [[0, "_CPPv419mdns_query_notify_t"]], "mdns_query_ptr (c++ function)": [[0, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t"]], "mdns_query_results_free (c++ function)": [[0, "_CPPv423mdns_query_results_freeP13mdns_result_t"]], "mdns_query_srv (c++ function)": [[0, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t"]], "mdns_query_transmission_type_t (c++ enum)": [[0, "_CPPv430mdns_query_transmission_type_t"]], "mdns_query_transmission_type_t::mdns_query_multicast (c++ enumerator)": [[0, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE"]], "mdns_query_transmission_type_t::mdns_query_unicast (c++ enumerator)": [[0, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE"]], "mdns_query_txt (c++ function)": [[0, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t"]], "mdns_register_netif (c++ function)": [[0, "_CPPv419mdns_register_netifP11esp_netif_t"]], "mdns_result_s (c++ struct)": [[0, "_CPPv413mdns_result_s"]], "mdns_result_s::addr (c++ member)": [[0, "_CPPv4N13mdns_result_s4addrE"]], "mdns_result_s::esp_netif (c++ member)": [[0, "_CPPv4N13mdns_result_s9esp_netifE"]], "mdns_result_s::hostname (c++ member)": [[0, "_CPPv4N13mdns_result_s8hostnameE"]], "mdns_result_s::instance_name (c++ member)": [[0, "_CPPv4N13mdns_result_s13instance_nameE"]], "mdns_result_s::ip_protocol (c++ member)": [[0, "_CPPv4N13mdns_result_s11ip_protocolE"]], "mdns_result_s::next (c++ member)": [[0, "_CPPv4N13mdns_result_s4nextE"]], "mdns_result_s::port (c++ member)": [[0, "_CPPv4N13mdns_result_s4portE"]], "mdns_result_s::proto (c++ member)": [[0, "_CPPv4N13mdns_result_s5protoE"]], "mdns_result_s::service_type (c++ member)": [[0, "_CPPv4N13mdns_result_s12service_typeE"]], "mdns_result_s::ttl (c++ member)": [[0, "_CPPv4N13mdns_result_s3ttlE"]], "mdns_result_s::txt (c++ member)": [[0, "_CPPv4N13mdns_result_s3txtE"]], "mdns_result_s::txt_count (c++ member)": [[0, "_CPPv4N13mdns_result_s9txt_countE"]], "mdns_result_s::txt_value_len (c++ member)": [[0, "_CPPv4N13mdns_result_s13txt_value_lenE"]], "mdns_result_t (c++ type)": [[0, "_CPPv413mdns_result_t"]], "mdns_search_once_t (c++ type)": [[0, "_CPPv418mdns_search_once_t"]], "mdns_service_add (c++ function)": [[0, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"]], "mdns_service_add_for_host (c++ function)": [[0, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"]], "mdns_service_exists (c++ function)": [[0, "_CPPv419mdns_service_existsPKcPKcPKc"]], "mdns_service_exists_with_instance (c++ function)": [[0, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc"]], "mdns_service_instance_name_set (c++ function)": [[0, "_CPPv430mdns_service_instance_name_setPKcPKcPKc"]], "mdns_service_instance_name_set_for_host (c++ function)": [[0, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc"]], "mdns_service_port_set (c++ function)": [[0, "_CPPv421mdns_service_port_setPKcPKc8uint16_t"]], "mdns_service_port_set_for_host (c++ function)": [[0, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t"]], "mdns_service_remove (c++ function)": [[0, "_CPPv419mdns_service_removePKcPKc"]], "mdns_service_remove_all (c++ function)": [[0, "_CPPv423mdns_service_remove_allv"]], "mdns_service_remove_for_host (c++ function)": [[0, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc"]], "mdns_service_subtype_add_for_host (c++ function)": [[0, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc"]], "mdns_service_txt_item_remove (c++ function)": [[0, "_CPPv428mdns_service_txt_item_removePKcPKcPKc"]], "mdns_service_txt_item_remove_for_host (c++ function)": [[0, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc"]], "mdns_service_txt_item_set (c++ function)": [[0, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc"]], "mdns_service_txt_item_set_for_host (c++ function)": [[0, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc"]], "mdns_service_txt_item_set_for_host_with_explicit_value_len (c++ function)": [[0, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t"]], "mdns_service_txt_item_set_with_explicit_value_len (c++ function)": [[0, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t"]], "mdns_service_txt_set (c++ function)": [[0, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t"]], "mdns_service_txt_set_for_host (c++ function)": [[0, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t"]], "mdns_txt_item_t (c++ struct)": [[0, "_CPPv415mdns_txt_item_t"]], "mdns_txt_item_t::key (c++ member)": [[0, "_CPPv4N15mdns_txt_item_t3keyE"]], "mdns_txt_item_t::value (c++ member)": [[0, "_CPPv4N15mdns_txt_item_t5valueE"]], "mdns_unregister_netif (c++ function)": [[0, "_CPPv421mdns_unregister_netifP11esp_netif_t"]]}}) \ No newline at end of file diff --git a/mdns/zh_CN/.buildinfo b/mdns/zh_CN/.buildinfo index 8d38293fd..9f9362220 100644 --- a/mdns/zh_CN/.buildinfo +++ b/mdns/zh_CN/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: aae3f67767183490dfce579bf34d72be +config: ad680e541a9400d9e85e0b17096ae589 tags: 549b3d6d0415232fb7e35403b330ff49 diff --git a/mdns/zh_CN/_static/doctools.js b/mdns/zh_CN/_static/doctools.js index c3db08d1c..527b876ca 100644 --- a/mdns/zh_CN/_static/doctools.js +++ b/mdns/zh_CN/_static/doctools.js @@ -10,6 +10,13 @@ */ "use strict"; +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + const _ready = (callback) => { if (document.readyState !== "loading") { callback(); @@ -18,73 +25,11 @@ const _ready = (callback) => { } }; -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - /** * Small JavaScript module for the documentation. */ const Documentation = { init: () => { - Documentation.highlightSearchWords(); Documentation.initDomainIndexTable(); Documentation.initOnKeyListeners(); }, @@ -126,51 +71,6 @@ const Documentation = { Documentation.LOCALE = catalog.locale; }, - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords: () => { - const highlight = - new URLSearchParams(window.location.search).get("highlight") || ""; - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - const url = new URL(window.location); - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - }, - /** * helper function to focus on search bar */ @@ -210,15 +110,11 @@ const Documentation = { ) return; - const blacklistedElements = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", - ]); document.addEventListener("keydown", (event) => { - if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements - if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; if (!event.shiftKey) { switch (event.key) { @@ -240,10 +136,6 @@ const Documentation = { event.preventDefault(); } break; - case "Escape": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.hideSearchWords(); - event.preventDefault(); } } diff --git a/mdns/zh_CN/_static/pygments.css b/mdns/zh_CN/_static/pygments.css index 20c4814dc..691aeb82d 100644 --- a/mdns/zh_CN/_static/pygments.css +++ b/mdns/zh_CN/_static/pygments.css @@ -1,5 +1,10 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } -.highlight { background: #eeffcc; } +.highlight { background: #eeffcc; } .highlight .c { color: #408090; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #007020; font-weight: bold } /* Keyword */ diff --git a/mdns/zh_CN/_static/searchtools.js b/mdns/zh_CN/_static/searchtools.js index f2fb7d5cf..e89e34d4e 100644 --- a/mdns/zh_CN/_static/searchtools.js +++ b/mdns/zh_CN/_static/searchtools.js @@ -57,14 +57,14 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, highlightTerms, searchTerms) => { +const _displayItem = (item, searchTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const [docName, title, anchor, descr] = item; + const [docName, title, anchor, descr, score, _filename] = item; let listItem = document.createElement("li"); let requestUrl; @@ -82,10 +82,9 @@ const _displayItem = (item, highlightTerms, searchTerms) => { requestUrl = docUrlRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } - const params = new URLSearchParams(); - params.set("highlight", [...highlightTerms].join(" ")); let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + "?" + params.toString() + anchor; + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; linkEl.innerHTML = title; if (descr) listItem.appendChild(document.createElement("span")).innerHTML = @@ -96,7 +95,7 @@ const _displayItem = (item, highlightTerms, searchTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, highlightTerms) + Search.makeSearchSummary(data, searchTerms) ); }); Search.output.appendChild(listItem); @@ -116,15 +115,14 @@ const _finishSearch = (resultCount) => { const _displayNextItem = ( results, resultCount, - highlightTerms, searchTerms ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), highlightTerms, searchTerms); + _displayItem(results.pop(), searchTerms); setTimeout( - () => _displayNextItem(results, resultCount, highlightTerms, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms), 5 ); } @@ -237,6 +235,12 @@ const Search = { * execute search (requires search index to be loaded) */ query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -264,6 +268,10 @@ const Search = { } }); + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + // console.debug("SEARCH: searching for:"); // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); @@ -272,6 +280,40 @@ const Search = { let results = []; _removeChildren(document.getElementById("search-progress")); + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + // lookup as object objectTerms.forEach((term) => results.push(...Search.performObjectSearch(term, objectTerms)) @@ -318,7 +360,7 @@ const Search = { // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, highlightTerms, searchTerms); + _displayNextItem(results, results.length, searchTerms); }, /** @@ -399,8 +441,8 @@ const Search = { // prepare search const terms = Search._index.terms; const titleTerms = Search._index.titleterms; - const docNames = Search._index.docnames; const filenames = Search._index.filenames; + const docNames = Search._index.docnames; const titles = Search._index.titles; const scoreMap = new Map(); @@ -497,11 +539,9 @@ const Search = { /** * helper function to return a node containing the * search summary for a given text. keywords is a list - * of stemmed words, highlightWords is the list of normal, unstemmed - * words. the first one is used to find the occurrence, the - * latter for highlighting it. + * of stemmed words. */ - makeSearchSummary: (htmlText, keywords, highlightWords) => { + makeSearchSummary: (htmlText, keywords) => { const text = Search.htmlToText(htmlText); if (text === "") return null; @@ -519,10 +559,6 @@ const Search = { summary.classList.add("context"); summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - highlightWords.forEach((highlightWord) => - _highlightText(summary, highlightWord, "highlighted") - ); - return summary; }, }; diff --git a/mdns/zh_CN/_static/sphinx_highlight.js b/mdns/zh_CN/_static/sphinx_highlight.js new file mode 100644 index 000000000..aae669d7e --- /dev/null +++ b/mdns/zh_CN/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/mdns/zh_CN/genindex.html b/mdns/zh_CN/genindex.html index dcc969294..eaad00bb2 100644 --- a/mdns/zh_CN/genindex.html +++ b/mdns/zh_CN/genindex.html @@ -17,6 +17,7 @@ + @@ -91,7 +92,7 @@
  • »
  • 索引
  • - 在 GitHub 上修改 + 在 GitHub 上修改

  • diff --git a/mdns/zh_CN/index.html b/mdns/zh_CN/index.html index f79f03505..03844e90e 100644 --- a/mdns/zh_CN/index.html +++ b/mdns/zh_CN/index.html @@ -18,6 +18,7 @@ + @@ -113,7 +114,7 @@
  • »
  • mDNS 服务
  • - 在 GitHub 上修改 + 在 GitHub 上修改

  • @@ -137,20 +138,20 @@

    以下为 STA 接口启动 mDNS 服务并设置 hostnamedefault_instance 的示例方法:

    -
    void start_mdns_service()
    -{
    -    // 初始化 mDNS 服务
    -    esp_err_t err = mdns_init();
    -    if (err) {
    -        printf("MDNS Init failed: %d\n", err);
    -        return;
    -    }
    +
    void start_mdns_service()
    +{
    +    // 初始化 mDNS 服务
    +    esp_err_t err = mdns_init();
    +    if (err) {
    +        printf("MDNS Init failed: %d\n", err);
    +        return;
    +    }
     
    -    // 设置 hostname
    -    mdns_hostname_set("my-esp32");
    -    // 设置默认实例
    -    mdns_instance_name_set("Jhon's ESP32 Thing");
    -}
    +    // 设置 hostname
    +    mdns_hostname_set("my-esp32");
    +    // 设置默认实例
    +    mdns_instance_name_set("Jhon's ESP32 Thing");
    +}
     
    @@ -167,28 +168,28 @@

    添加一些服务和不同属性的示例方法:

    -
    void add_mdns_services()
    -{
    -    // 添加服务
    -    mdns_service_add(NULL, "_http", "_tcp", 80, NULL, 0);
    -    mdns_service_add(NULL, "_arduino", "_tcp", 3232, NULL, 0);
    -    mdns_service_add(NULL, "_myservice", "_udp", 1234, NULL, 0);
    +
    void add_mdns_services()
    +{
    +    // 添加服务
    +    mdns_service_add(NULL, "_http", "_tcp", 80, NULL, 0);
    +    mdns_service_add(NULL, "_arduino", "_tcp", 3232, NULL, 0);
    +    mdns_service_add(NULL, "_myservice", "_udp", 1234, NULL, 0);
     
    -    // 注意:必须先添加服务,然后才能设置其属性
    -    // web 服务器使用自定义的实例名
    -    mdns_service_instance_name_set("_http", "_tcp", "Jhon's ESP32 Web Server");
    +    // 注意:必须先添加服务,然后才能设置其属性
    +    // web 服务器使用自定义的实例名
    +    mdns_service_instance_name_set("_http", "_tcp", "Jhon's ESP32 Web Server");
     
    -    mdns_txt_item_t serviceTxtData[3] = {
    -        {"board","esp32"},
    -        {"u","user"},
    -        {"p","password"}
    -    };
    -    // 设置服务的文本数据(会释放并替换当前数据)
    -    mdns_service_txt_set("_http", "_tcp", serviceTxtData, 3);
    +    mdns_txt_item_t serviceTxtData[3] = {
    +        {"board","esp32"},
    +        {"u","user"},
    +        {"p","password"}
    +    };
    +    // 设置服务的文本数据(会释放并替换当前数据)
    +    mdns_service_txt_set("_http", "_tcp", serviceTxtData, 3);
     
    -    // 修改服务端口号
    -    mdns_service_port_set("_myservice", "_udp", 4321);
    -}
    +    // 修改服务端口号
    +    mdns_service_port_set("_myservice", "_udp", 4321);
    +}
     
    @@ -197,114 +198,114 @@

    mDNS 提供查询服务和解析主机 IP/IPv6 地址的方法。

    服务查询的结果会作为 mdns_result_t 类型对象的链表返回。

    解析主机 IP 地址的示例方法:

    -
    void resolve_mdns_host(const char * host_name)
    -{
    -    printf("Query A: %s.local", host_name);
    +
    void resolve_mdns_host(const char * host_name)
    +{
    +    printf("Query A: %s.local", host_name);
     
    -    struct ip4_addr addr;
    -    addr.addr = 0;
    +    struct ip4_addr addr;
    +    addr.addr = 0;
     
    -    esp_err_t err = mdns_query_a(host_name, 2000,  &addr);
    -    if(err){
    -        if(err == ESP_ERR_NOT_FOUND){
    -            printf("Host was not found!");
    -            return;
    -        }
    -        printf("Query Failed");
    -        return;
    -    }
    +    esp_err_t err = mdns_query_a(host_name, 2000,  &addr);
    +    if(err){
    +        if(err == ESP_ERR_NOT_FOUND){
    +            printf("Host was not found!");
    +            return;
    +        }
    +        printf("Query Failed");
    +        return;
    +    }
     
    -    printf(IPSTR, IP2STR(&addr));
    -}
    +    printf(IPSTR, IP2STR(&addr));
    +}
     

    解析本地服务的示例方法:

    -
    static const char * if_str[] = {"STA", "AP", "ETH", "MAX"};
    -static const char * ip_protocol_str[] = {"V4", "V6", "MAX"};
    +
    static const char * if_str[] = {"STA", "AP", "ETH", "MAX"};
    +static const char * ip_protocol_str[] = {"V4", "V6", "MAX"};
     
    -void mdns_print_results(mdns_result_t * results){
    -    mdns_result_t * r = results;
    -    mdns_ip_addr_t * a = NULL;
    -    int i = 1, t;
    -    while(r){
    -        printf("%d: Interface: %s, Type: %s\n", i++, if_str[r->tcpip_if], ip_protocol_str[r->ip_protocol]);
    -        if(r->instance_name){
    -            printf("  PTR : %s\n", r->instance_name);
    -        }
    -        if(r->hostname){
    -            printf("  SRV : %s.local:%u\n", r->hostname, r->port);
    -        }
    -        if(r->txt_count){
    -            printf("  TXT : [%u] ", r->txt_count);
    -            for(t=0; t<r->txt_count; t++){
    -                printf("%s=%s; ", r->txt[t].key, r->txt[t].value);
    -            }
    -            printf("\n");
    -        }
    -        a = r->addr;
    -        while(a){
    -            if(a->addr.type == IPADDR_TYPE_V6){
    -                printf("  AAAA: " IPV6STR "\n", IPV62STR(a->addr.u_addr.ip6));
    -            } else {
    -                printf("  A   : " IPSTR "\n", IP2STR(&(a->addr.u_addr.ip4)));
    -            }
    -            a = a->next;
    -        }
    -        r = r->next;
    -    }
    +void mdns_print_results(mdns_result_t * results){
    +    mdns_result_t * r = results;
    +    mdns_ip_addr_t * a = NULL;
    +    int i = 1, t;
    +    while(r){
    +        printf("%d: Interface: %s, Type: %s\n", i++, if_str[r->tcpip_if], ip_protocol_str[r->ip_protocol]);
    +        if(r->instance_name){
    +            printf("  PTR : %s\n", r->instance_name);
    +        }
    +        if(r->hostname){
    +            printf("  SRV : %s.local:%u\n", r->hostname, r->port);
    +        }
    +        if(r->txt_count){
    +            printf("  TXT : [%u] ", r->txt_count);
    +            for(t=0; t<r->txt_count; t++){
    +                printf("%s=%s; ", r->txt[t].key, r->txt[t].value);
    +            }
    +            printf("\n");
    +        }
    +        a = r->addr;
    +        while(a){
    +            if(a->addr.type == IPADDR_TYPE_V6){
    +                printf("  AAAA: " IPV6STR "\n", IPV62STR(a->addr.u_addr.ip6));
    +            } else {
    +                printf("  A   : " IPSTR "\n", IP2STR(&(a->addr.u_addr.ip4)));
    +            }
    +            a = a->next;
    +        }
    +        r = r->next;
    +    }
     
    -}
    +}
     
    -void find_mdns_service(const char * service_name, const char * proto)
    -{
    -    ESP_LOGI(TAG, "Query PTR: %s.%s.local", service_name, proto);
    +void find_mdns_service(const char * service_name, const char * proto)
    +{
    +    ESP_LOGI(TAG, "Query PTR: %s.%s.local", service_name, proto);
     
    -    mdns_result_t * results = NULL;
    -    esp_err_t err = mdns_query_ptr(service_name, proto, 3000, 20,  &results);
    -    if(err){
    -        ESP_LOGE(TAG, "Query Failed");
    -        return;
    -    }
    -    if(!results){
    -        ESP_LOGW(TAG, "No results found!");
    -        return;
    -    }
    +    mdns_result_t * results = NULL;
    +    esp_err_t err = mdns_query_ptr(service_name, proto, 3000, 20,  &results);
    +    if(err){
    +        ESP_LOGE(TAG, "Query Failed");
    +        return;
    +    }
    +    if(!results){
    +        ESP_LOGW(TAG, "No results found!");
    +        return;
    +    }
     
    -    mdns_print_results(results);
    -    mdns_query_results_free(results);
    -}
    +    mdns_print_results(results);
    +    mdns_query_results_free(results);
    +}
     

    使用上述方法的示例:

    -
    void my_app_some_method(){
    -    // 搜索 esp32-mdns.local
    -    resolve_mdns_host("esp32-mdns");
    +
    void my_app_some_method(){
    +    // 搜索 esp32-mdns.local
    +    resolve_mdns_host("esp32-mdns");
     
    -    // 搜索 HTTP 服务器
    -    find_mdns_service("_http", "_tcp");
    -    // 或者搜索文件服务器
    -    find_mdns_service("_smb", "_tcp"); // Windows 系统的共享服务
    -    find_mdns_service("_afpovertcp", "_tcp"); // Apple AFP 文件共享服务
    -    find_mdns_service("_nfs", "_tcp"); // NFS 服务器
    -    find_mdns_service("_ftp", "_tcp"); // FTP 服务器
    -    // 或者网络打印机
    -    find_mdns_service("_printer", "_tcp");
    -    find_mdns_service("_ipp", "_tcp");
    -}
    +    // 搜索 HTTP 服务器
    +    find_mdns_service("_http", "_tcp");
    +    // 或者搜索文件服务器
    +    find_mdns_service("_smb", "_tcp"); // Windows 系统的共享服务
    +    find_mdns_service("_afpovertcp", "_tcp"); // Apple AFP 文件共享服务
    +    find_mdns_service("_nfs", "_tcp"); // NFS 服务器
    +    find_mdns_service("_ftp", "_tcp"); // FTP 服务器
    +    // 或者网络打印机
    +    find_mdns_service("_printer", "_tcp");
    +    find_mdns_service("_ipp", "_tcp");
    +}
     

    应用示例

    -

    有关 mDNS 服务器和查询器的应用示例请参考

    +

    有关 mDNS 服务器和查询器的应用示例请参考

    API 参考

    Header File

    diff --git a/mdns/zh_CN/search.html b/mdns/zh_CN/search.html index a60d3ef4d..c09ba4042 100644 --- a/mdns/zh_CN/search.html +++ b/mdns/zh_CN/search.html @@ -18,6 +18,7 @@ + diff --git a/mdns/zh_CN/searchindex.js b/mdns/zh_CN/searchindex.js index a141db97c..b23323446 100644 --- a/mdns/zh_CN/searchindex.js +++ b/mdns/zh_CN/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["mDNS \u670d\u52a1"], "terms": {"english": 0, "udp": 0, "mac": 0, "os": 0, "bonjour": 0, "appl": 0, "window": 0, "linux": 0, "avahi": 0, "hostnam": 0, "my": 0, "esp32": 0, "local": 0, "default_inst": 0, "jhon": 0, "thing": 0, "sta": 0, "void": 0, "start_mdns_servic": 0, "esp_err_t": 0, "err": 0, "mdns_init": 0, "if": 0, "printf": 0, "init": 0, "fail": 0, "return": 0, "mdns_hostname_set": 0, "mdns_instance_name_set": 0, "instance_nam": 0, "web": 0, "server": 0, "service_typ": 0, "proto": 0, "_tcp": 0, "_udp": 0, "port": 0, "txt": 0, "var": 0, "val": 0, "add_mdns_servic": 0, "mdns_service_add": 0, "null": 0, "_http": 0, "80": 0, "_arduino": 0, "3232": 0, "_myservic": 0, "1234": 0, "mdns_service_instance_name_set": 0, "mdns_txt_item_t": 0, "servicetxtdata": 0, "board": 0, "user": 0, "password": 0, "mdns_service_txt_set": 0, "mdns_service_port_set": 0, "4321": 0, "ip": 0, "ipv6": 0, "mdns_result_t": 0, "resolve_mdns_host": 0, "const": 0, "char": 0, "host_nam": 0, "queri": 0, "struct": 0, "ip4_addr": 0, "addr": 0, "mdns_query_a": 0, "2000": 0, "esp_err_not_found": 0, "host": 0, "was": 0, "not": 0, "found": 0, "ipstr": 0, "ip2str": 0, "static": 0, "if_str": 0, "ap": 0, "eth": 0, "max": 0, "ip_protocol_str": 0, "v4": 0, "v6": 0, "mdns_print_result": 0, "result": 0, "mdns_ip_addr_t": 0, "int": 0, "while": 0, "interfac": 0, "tcpip_if": 0, "ip_protocol": 0, "ptr": 0, "srv": 0, "txt_count": 0, "for": 0, "key": 0, "valu": 0, "ipaddr_type_v6": 0, "aaaa": 0, "ipv6str": 0, "ipv62str": 0, "u_addr": 0, "ip6": 0, "els": 0, "ip4": 0, "next": 0, "find_mdns_servic": 0, "service_nam": 0, "esp_log": 0, "tag": 0, "mdns_query_ptr": 0, "3000": 0, "20": 0, "esp_logw": 0, "no": 0, "mdns_query_results_fre": 0, "my_app_some_method": 0, "http": 0, "_smb": 0, "_afpovertcp": 0, "afp": 0, "_nfs": 0, "nfs": 0, "_ftp": 0, "ftp": 0, "_printer": 0, "_ipp": 0, "includ": 0, "initi": 0, "on": 0, "given": 0, "esp_ok": 0, "success": 0, "esp_err_invalid_st": 0, "when": 0, "to": 0, "regist": 0, "event": 0, "handler": 0, "esp_err_no_mem": 0, "memori": 0, "error": 0, "esp_fail": 0, "start": 0, "task": 0, "mdns_free": 0, "stop": 0, "and": 0, "free": 0, "set": 0, "the": 0, "requir": 0, "you": 0, "want": 0, "advertis": 0, "servic": 0, "esp_err_invalid_arg": 0, "paramet": 0, "mdns_delegate_hostname_add": 0, "address_list": 0, "add": 0, "address": 0, "be": 0, "deleg": 0, "will": 0, "repli": 0, "can": 0, "added": 0, "this": 0, "list": 0, "of": 0, "is": 0, "run": 0, "mdns_delegate_hostname_remov": 0, "remov": 0, "all": 0, "also": 0, "bool": 0, "mdns_hostname_exist": 0, "whether": 0, "has": 0, "been": 0, "true": 0, "fals": 0, "default": 0, "instanc": 0, "name": 0, "uint16_t": 0, "size_t": 0, "num_item": 0, "length": 0, "item": 0, "automat": 0, "decid": 0, "by": 0, "strlen": 0, "global": 0, "or": 0, "use": 0, "note": 0, "that": 0, "mdns_multiple_inst": 0, "config": 0, "option": 0, "need": 0, "enabl": 0, "adding": 0, "multipl": 0, "with": 0, "same": 0, "etc": 0, "protocol": 0, "string": 0, "array": 0, "data": 0, "eg": 0, "other": 0, "number": 0, "in": 0, "mdns_service_add_for_host": 0, "mdns_service_exist": 0, "check": 0, "correspond": 0, "mdns_service_exists_with_inst": 0, "mdns_service_remov": 0, "from": 0, "mdns_service_remove_for_host": 0, "mdns_service_instance_name_set_for_host": 0, "instance_old": 0, "origin": 0, "mdns_service_port_set_for_host": 0, "uint8_t": 0, "replac": 0, "mdns_service_txt_set_for_host": 0, "mdns_service_txt_item_set": 0, "record": 0, "updat": 0, "new": 0, "mdns_service_txt_item_set_with_explicit_value_len": 0, "value_len": 0, "mdns_service_txt_item_set_for_host": 0, "mdns_service_txt_item_set_for_host_with_explicit_value_len": 0, "mdns_service_txt_item_remov": 0, "mdns_service_txt_item_remove_for_host": 0, "mdns_service_subtype_add_for_host": 0, "subtyp": 0, "find": 0, "first": 0, "mdns_service_remove_al": 0, "mdns_query_async_delet": 0, "mdns_search_once_t": 0, "search": 0, "delet": 0, "finish": 0, "call": 0, "onli": 0, "after": 0, "end": 0, "pointer": 0, "object": 0, "mdns_query_async_get_result": 0, "uint32_t": 0, "timeout": 0, "num_result": 0, "get": 0, "avail": 0, "as": 0, "output": 0, "via": 0, "onc": 0, "although": 0, "have": 0, "freed": 0, "manual": 0, "time": 0, "millisecond": 0, "wait": 0, "answer": 0, "actual": 0, "ignor": 0, "befor": 0, "at": 0, "over": 0, "mdns_query_async_new": 0, "max_result": 0, "mdns_query_notify_t": 0, "notifi": 0, "asynchronous": 0, "test": 0, "progress": 0, "mdns_type_": 0, "dure": 0, "which": 0, "activ": 0, "maximum": 0, "collect": 0, "notif": 0, "readi": 0, "mdns_search_once_": 0, "otherwis": 0, "mdns_query_gener": 0, "mdns_query_transmission_type_t": 0, "transmission_typ": 0, "generic": 0, "follow": 0, "method": 0, "are": 0, "deriv": 0, "one": 0, "either": 0, "unicast": 0, "multicast": 0, "must": 0, "below": 0, "mdns_queri": 0, "send": 0, "link": 0, "mdns_query_srv": 0, "mdns_query_txt": 0, "esp_ip4_addr_t": 0, "look": 0, "mdns_register_netif": 0, "esp_netif_t": 0, "esp_netif": 0, "custom": 0, "preconfigur": 0, "ani": 0, "standard": 0, "wifi": 0, "ethernet": 0, "driver": 0, "kind": 0, "defin": 0, "esp": 0, "netif": 0, "alreadi": 0, "enough": 0, "see": 0, "config_mdns_max_interfac": 0, "mdns_unregister_netif": 0, "unregist": 0, "mdns_netif_act": 0, "mdns_event_actions_t": 0, "event_act": 0, "desir": 0, "state": 0, "perform": 0, "action": 0, "such": 0, "disabl": 0, "announc": 0, "packet": 0, "probe": 0, "resolv": 0, "conflict": 0, "bye": 0, "specifi": 0, "network": 0, "specif": 0, "could": 0, "connect": 0, "properti": 0, "chang": 0, "them": 0, "disconnect": 0, "ipv4": 0, "basic": 0, "text": 0, "public": 0, "member": 0, "mdns_ip_addr_": 0, "esp_ip_addr_t": 0, "last": 0, "mdns_result_": 0, "ttl": 0, "live": 0, "mdns_ip_protocol_t": 0, "srevic": 0, "txt_value_len": 0, "len": 0, "each": 0, "mdns_type_a": 0, "mdns_type_ptr": 0, "mdns_type_txt": 0, "mdns_type_aaaa": 0, "mdns_type_srv": 0, "mdns_type_opt": 0, "mdns_type_nsec": 0, "mdns_type_ani": 0, "typedef": 0, "asynchron": 0, "handl": 0, "enum": 0, "mdns_event_enable_ip4": 0, "mdns_event_enable_ip6": 0, "mdns_event_announce_ip4": 0, "mdns_event_announce_ip6": 0, "mdns_event_disable_ip4": 0, "mdns_event_disable_ip6": 0, "mdns_ip_protocol_v4": 0, "mdns_ip_protocol_v6": 0, "mdns_ip_protocol_max": 0, "explicit": 0, "mdns_query_unicast": 0, "mdns_query_multicast": 0}, "objects": {"": [[0, 0, 1, "c.MDNS_TYPE_A", "MDNS_TYPE_A"], [0, 0, 1, "c.MDNS_TYPE_AAAA", "MDNS_TYPE_AAAA"], [0, 0, 1, "c.MDNS_TYPE_ANY", "MDNS_TYPE_ANY"], [0, 0, 1, "c.MDNS_TYPE_NSEC", "MDNS_TYPE_NSEC"], [0, 0, 1, "c.MDNS_TYPE_OPT", "MDNS_TYPE_OPT"], [0, 0, 1, "c.MDNS_TYPE_PTR", "MDNS_TYPE_PTR"], [0, 0, 1, "c.MDNS_TYPE_SRV", "MDNS_TYPE_SRV"], [0, 0, 1, "c.MDNS_TYPE_TXT", "MDNS_TYPE_TXT"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "MDNS_EVENT_ENABLE_IP6"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "MDNS_IP_PROTOCOL_V6"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::address_list"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::hostname"], [0, 2, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove"], [0, 3, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove::hostname"], [0, 4, 1, "_CPPv420mdns_event_actions_t", "mdns_event_actions_t"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP6"], [0, 2, 1, "_CPPv49mdns_freev", "mdns_free"], [0, 2, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists"], [0, 3, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists::hostname"], [0, 2, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set"], [0, 3, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set::hostname"], [0, 2, 1, "_CPPv49mdns_initv", "mdns_init"], [0, 2, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set"], [0, 3, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set::instance_name"], [0, 5, 1, "_CPPv414mdns_ip_addr_s", "mdns_ip_addr_s"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4addrE", "mdns_ip_addr_s::addr"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4nextE", "mdns_ip_addr_s::next"], [0, 7, 1, "_CPPv414mdns_ip_addr_t", "mdns_ip_addr_t"], [0, 4, 1, "_CPPv418mdns_ip_protocol_t", "mdns_ip_protocol_t"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V6"], [0, 2, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::esp_netif"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::event_action"], [0, 2, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::max_results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::name"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::proto"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::service_type"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::timeout"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::type"], [0, 2, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::addr"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::host_name"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::timeout"], [0, 2, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete"], [0, 3, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete::search"], [0, 2, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::num_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::search"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::timeout"], [0, 2, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::max_results"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::name"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::notifier"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::proto"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::service_type"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::timeout"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::type"], [0, 2, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::max_results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::name"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::proto"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::service_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::timeout"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::transmission_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::type"], [0, 7, 1, "_CPPv419mdns_query_notify_t", "mdns_query_notify_t"], [0, 2, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::max_results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::proto"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::service_type"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::timeout"], [0, 2, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free"], [0, 3, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free::results"], [0, 2, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::instance_name"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::proto"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::result"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::service_type"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::timeout"], [0, 4, 1, "_CPPv430mdns_query_transmission_type_t", "mdns_query_transmission_type_t"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::instance_name"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::proto"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::result"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::service_type"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::timeout"], [0, 2, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif"], [0, 3, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif::esp_netif"], [0, 5, 1, "_CPPv413mdns_result_s", "mdns_result_s"], [0, 6, 1, "_CPPv4N13mdns_result_s4addrE", "mdns_result_s::addr"], [0, 6, 1, "_CPPv4N13mdns_result_s9esp_netifE", "mdns_result_s::esp_netif"], [0, 6, 1, "_CPPv4N13mdns_result_s8hostnameE", "mdns_result_s::hostname"], [0, 6, 1, "_CPPv4N13mdns_result_s13instance_nameE", "mdns_result_s::instance_name"], [0, 6, 1, "_CPPv4N13mdns_result_s11ip_protocolE", "mdns_result_s::ip_protocol"], [0, 6, 1, "_CPPv4N13mdns_result_s4nextE", "mdns_result_s::next"], [0, 6, 1, "_CPPv4N13mdns_result_s4portE", "mdns_result_s::port"], [0, 6, 1, "_CPPv4N13mdns_result_s5protoE", "mdns_result_s::proto"], [0, 6, 1, "_CPPv4N13mdns_result_s12service_typeE", "mdns_result_s::service_type"], [0, 6, 1, "_CPPv4N13mdns_result_s3ttlE", "mdns_result_s::ttl"], [0, 6, 1, "_CPPv4N13mdns_result_s3txtE", "mdns_result_s::txt"], [0, 6, 1, "_CPPv4N13mdns_result_s9txt_countE", "mdns_result_s::txt_count"], [0, 6, 1, "_CPPv4N13mdns_result_s13txt_value_lenE", "mdns_result_s::txt_value_len"], [0, 7, 1, "_CPPv413mdns_result_t", "mdns_result_t"], [0, 7, 1, "_CPPv418mdns_search_once_t", "mdns_search_once_t"], [0, 2, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::instance_name"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::num_items"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::port"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::proto"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::service_type"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::txt"], [0, 2, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::hostname"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::instance_name"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::num_items"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::port"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::proto"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::service_type"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::txt"], [0, 2, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::hostname"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::proto"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::service_type"], [0, 2, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::hostname"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::proto"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::service_type"], [0, 2, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::instance_name"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::proto"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::service_type"], [0, 2, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::hostname"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_name"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_old"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::proto"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::service_type"], [0, 2, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::port"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::proto"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::service_type"], [0, 2, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::hostname"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::instance"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::port"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::proto"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::service_type"], [0, 2, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::proto"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::service_type"], [0, 2, 1, "_CPPv423mdns_service_remove_allv", "mdns_service_remove_all"], [0, 2, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::hostname"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::instance"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::proto"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::service_type"], [0, 2, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::hostname"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::instance_name"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::proto"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::service_type"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::subtype"], [0, 2, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::key"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::proto"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::service_type"], [0, 2, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::hostname"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::instance"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::key"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::proto"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::service_type"], [0, 2, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::key"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::proto"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::service_type"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::value"], [0, 2, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::hostname"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::instance"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::key"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::proto"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::service_type"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::value"], [0, 2, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::hostname"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::instance"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::key"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::key"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::num_items"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::proto"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::service_type"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::txt"], [0, 2, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::hostname"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::instance"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::num_items"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::proto"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::service_type"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::txt"], [0, 5, 1, "_CPPv415mdns_txt_item_t", "mdns_txt_item_t"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t3keyE", "mdns_txt_item_t::key"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t5valueE", "mdns_txt_item_t::value"], [0, 2, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif"], [0, 3, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif::esp_netif"]]}, "objtypes": {"0": "c:macro", "1": "cpp:enumerator", "2": "cpp:function", "3": "cpp:functionParam", "4": "cpp:enum", "5": "cpp:class", "6": "cpp:member", "7": "cpp:type"}, "objnames": {"0": ["c", "macro", "C \u5b8f"], "1": ["cpp", "enumerator", "C++ \u679a\u4e3e\u6210\u5458"], "2": ["cpp", "function", "C++ \u51fd\u6570"], "3": ["cpp", "functionParam", "C++ \u51fd\u6570\u53c2\u6570"], "4": ["cpp", "enum", "C++ \u679a\u4e3e"], "5": ["cpp", "class", "C++ \u7c7b"], "6": ["cpp", "member", "C++ \u6210\u5458"], "7": ["cpp", "type", "C++ \u7c7b\u578b"]}, "titleterms": {"mdns": 0, "api": 0, "header": 0, "file": 0, "function": 0, "structur": 0, "macro": 0, "type": 0, "definit": 0, "enumer": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["mDNS \u670d\u52a1"], "terms": {"english": 0, "udp": 0, "mac": 0, "os": 0, "bonjour": 0, "appl": 0, "window": 0, "linux": 0, "avahi": 0, "hostnam": 0, "my": 0, "esp32": 0, "local": 0, "default_inst": 0, "jhon": 0, "thing": 0, "sta": 0, "void": 0, "start_mdns_servic": 0, "esp_err_t": 0, "err": 0, "mdns_init": 0, "if": 0, "printf": 0, "init": 0, "fail": 0, "return": 0, "mdns_hostname_set": 0, "mdns_instance_name_set": 0, "instance_nam": 0, "web": 0, "server": 0, "service_typ": 0, "proto": 0, "_tcp": 0, "_udp": 0, "port": 0, "txt": 0, "var": 0, "val": 0, "add_mdns_servic": 0, "mdns_service_add": 0, "null": 0, "_http": 0, "80": 0, "_arduino": 0, "3232": 0, "_myservic": 0, "1234": 0, "mdns_service_instance_name_set": 0, "mdns_txt_item_t": 0, "servicetxtdata": 0, "board": 0, "user": 0, "password": 0, "mdns_service_txt_set": 0, "mdns_service_port_set": 0, "4321": 0, "ip": 0, "ipv6": 0, "mdns_result_t": 0, "resolve_mdns_host": 0, "const": 0, "char": 0, "host_nam": 0, "queri": 0, "struct": 0, "ip4_addr": 0, "addr": 0, "mdns_query_a": 0, "2000": 0, "esp_err_not_found": 0, "host": 0, "was": 0, "not": 0, "found": 0, "ipstr": 0, "ip2str": 0, "static": 0, "if_str": 0, "ap": 0, "eth": 0, "max": 0, "ip_protocol_str": 0, "v4": 0, "v6": 0, "mdns_print_result": 0, "result": 0, "mdns_ip_addr_t": 0, "int": 0, "while": 0, "interfac": 0, "tcpip_if": 0, "ip_protocol": 0, "ptr": 0, "srv": 0, "txt_count": 0, "for": 0, "key": 0, "valu": 0, "ipaddr_type_v6": 0, "aaaa": 0, "ipv6str": 0, "ipv62str": 0, "u_addr": 0, "ip6": 0, "els": 0, "ip4": 0, "next": 0, "find_mdns_servic": 0, "service_nam": 0, "esp_log": 0, "tag": 0, "mdns_query_ptr": 0, "3000": 0, "20": 0, "esp_logw": 0, "no": 0, "mdns_query_results_fre": 0, "my_app_some_method": 0, "http": 0, "_smb": 0, "_afpovertcp": 0, "afp": 0, "_nfs": 0, "nfs": 0, "_ftp": 0, "ftp": 0, "_printer": 0, "_ipp": 0, "includ": 0, "initi": 0, "on": 0, "given": 0, "esp_ok": 0, "success": 0, "esp_err_invalid_st": 0, "when": 0, "to": 0, "regist": 0, "event": 0, "handler": 0, "esp_err_no_mem": 0, "memori": 0, "error": 0, "esp_fail": 0, "start": 0, "task": 0, "mdns_free": 0, "stop": 0, "and": 0, "free": 0, "set": 0, "the": 0, "requir": 0, "you": 0, "want": 0, "advertis": 0, "servic": 0, "esp_err_invalid_arg": 0, "paramet": 0, "mdns_delegate_hostname_add": 0, "address_list": 0, "add": 0, "address": 0, "be": 0, "deleg": 0, "will": 0, "repli": 0, "can": 0, "added": 0, "this": 0, "list": 0, "of": 0, "is": 0, "run": 0, "mdns_delegate_hostname_remov": 0, "remov": 0, "all": 0, "also": 0, "bool": 0, "mdns_hostname_exist": 0, "whether": 0, "has": 0, "been": 0, "true": 0, "fals": 0, "default": 0, "instanc": 0, "name": 0, "uint16_t": 0, "size_t": 0, "num_item": 0, "length": 0, "item": 0, "automat": 0, "decid": 0, "by": 0, "strlen": 0, "global": 0, "or": 0, "use": 0, "note": 0, "that": 0, "mdns_multiple_inst": 0, "config": 0, "option": 0, "need": 0, "enabl": 0, "adding": 0, "multipl": 0, "with": 0, "same": 0, "etc": 0, "protocol": 0, "string": 0, "array": 0, "data": 0, "eg": 0, "other": 0, "number": 0, "in": 0, "mdns_service_add_for_host": 0, "mdns_service_exist": 0, "check": 0, "correspond": 0, "mdns_service_exists_with_inst": 0, "mdns_service_remov": 0, "from": 0, "mdns_service_remove_for_host": 0, "mdns_service_instance_name_set_for_host": 0, "instance_old": 0, "origin": 0, "mdns_service_port_set_for_host": 0, "uint8_t": 0, "replac": 0, "mdns_service_txt_set_for_host": 0, "mdns_service_txt_item_set": 0, "record": 0, "updat": 0, "new": 0, "mdns_service_txt_item_set_with_explicit_value_len": 0, "value_len": 0, "mdns_service_txt_item_set_for_host": 0, "mdns_service_txt_item_set_for_host_with_explicit_value_len": 0, "mdns_service_txt_item_remov": 0, "mdns_service_txt_item_remove_for_host": 0, "mdns_service_subtype_add_for_host": 0, "subtyp": 0, "find": 0, "first": 0, "mdns_service_remove_al": 0, "mdns_query_async_delet": 0, "mdns_search_once_t": 0, "search": 0, "delet": 0, "finish": 0, "call": 0, "onli": 0, "after": 0, "end": 0, "pointer": 0, "object": 0, "mdns_query_async_get_result": 0, "uint32_t": 0, "timeout": 0, "num_result": 0, "get": 0, "avail": 0, "as": 0, "output": 0, "via": 0, "onc": 0, "although": 0, "have": 0, "freed": 0, "manual": 0, "time": 0, "millisecond": 0, "wait": 0, "answer": 0, "actual": 0, "ignor": 0, "befor": 0, "at": 0, "over": 0, "mdns_query_async_new": 0, "max_result": 0, "mdns_query_notify_t": 0, "notifi": 0, "asynchronous": 0, "test": 0, "progress": 0, "mdns_type_": 0, "dure": 0, "which": 0, "activ": 0, "maximum": 0, "collect": 0, "notif": 0, "readi": 0, "mdns_search_once_": 0, "otherwis": 0, "mdns_query_gener": 0, "mdns_query_transmission_type_t": 0, "transmission_typ": 0, "generic": 0, "follow": 0, "method": 0, "are": 0, "deriv": 0, "one": 0, "either": 0, "unicast": 0, "multicast": 0, "must": 0, "below": 0, "mdns_queri": 0, "send": 0, "link": 0, "mdns_query_srv": 0, "mdns_query_txt": 0, "esp_ip4_addr_t": 0, "look": 0, "mdns_register_netif": 0, "esp_netif_t": 0, "esp_netif": 0, "custom": 0, "preconfigur": 0, "ani": 0, "standard": 0, "wifi": 0, "ethernet": 0, "driver": 0, "kind": 0, "defin": 0, "esp": 0, "netif": 0, "alreadi": 0, "enough": 0, "see": 0, "config_mdns_max_interfac": 0, "mdns_unregister_netif": 0, "unregist": 0, "mdns_netif_act": 0, "mdns_event_actions_t": 0, "event_act": 0, "desir": 0, "state": 0, "perform": 0, "action": 0, "such": 0, "disabl": 0, "announc": 0, "packet": 0, "probe": 0, "resolv": 0, "conflict": 0, "bye": 0, "specifi": 0, "network": 0, "specif": 0, "could": 0, "connect": 0, "properti": 0, "chang": 0, "them": 0, "disconnect": 0, "ipv4": 0, "basic": 0, "text": 0, "public": 0, "member": 0, "mdns_ip_addr_": 0, "esp_ip_addr_t": 0, "last": 0, "mdns_result_": 0, "ttl": 0, "live": 0, "mdns_ip_protocol_t": 0, "srevic": 0, "txt_value_len": 0, "len": 0, "each": 0, "mdns_type_a": 0, "mdns_type_ptr": 0, "mdns_type_txt": 0, "mdns_type_aaaa": 0, "mdns_type_srv": 0, "mdns_type_opt": 0, "mdns_type_nsec": 0, "mdns_type_ani": 0, "typedef": 0, "asynchron": 0, "handl": 0, "enum": 0, "mdns_event_enable_ip4": 0, "mdns_event_enable_ip6": 0, "mdns_event_announce_ip4": 0, "mdns_event_announce_ip6": 0, "mdns_event_disable_ip4": 0, "mdns_event_disable_ip6": 0, "mdns_ip_protocol_v4": 0, "mdns_ip_protocol_v6": 0, "mdns_ip_protocol_max": 0, "explicit": 0, "mdns_query_unicast": 0, "mdns_query_multicast": 0}, "objects": {"": [[0, 0, 1, "c.MDNS_TYPE_A", "MDNS_TYPE_A"], [0, 0, 1, "c.MDNS_TYPE_AAAA", "MDNS_TYPE_AAAA"], [0, 0, 1, "c.MDNS_TYPE_ANY", "MDNS_TYPE_ANY"], [0, 0, 1, "c.MDNS_TYPE_NSEC", "MDNS_TYPE_NSEC"], [0, 0, 1, "c.MDNS_TYPE_OPT", "MDNS_TYPE_OPT"], [0, 0, 1, "c.MDNS_TYPE_PTR", "MDNS_TYPE_PTR"], [0, 0, 1, "c.MDNS_TYPE_SRV", "MDNS_TYPE_SRV"], [0, 0, 1, "c.MDNS_TYPE_TXT", "MDNS_TYPE_TXT"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "MDNS_EVENT_ENABLE_IP6"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "MDNS_IP_PROTOCOL_V6"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::address_list"], [0, 3, 1, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t", "mdns_delegate_hostname_add::hostname"], [0, 2, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove"], [0, 3, 1, "_CPPv429mdns_delegate_hostname_removePKc", "mdns_delegate_hostname_remove::hostname"], [0, 4, 1, "_CPPv420mdns_event_actions_t", "mdns_event_actions_t"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ANNOUNCE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_DISABLE_IP6"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP4"], [0, 1, 1, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E", "mdns_event_actions_t::MDNS_EVENT_ENABLE_IP6"], [0, 2, 1, "_CPPv49mdns_freev", "mdns_free"], [0, 2, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists"], [0, 3, 1, "_CPPv420mdns_hostname_existsPKc", "mdns_hostname_exists::hostname"], [0, 2, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set"], [0, 3, 1, "_CPPv417mdns_hostname_setPKc", "mdns_hostname_set::hostname"], [0, 2, 1, "_CPPv49mdns_initv", "mdns_init"], [0, 2, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set"], [0, 3, 1, "_CPPv422mdns_instance_name_setPKc", "mdns_instance_name_set::instance_name"], [0, 5, 1, "_CPPv414mdns_ip_addr_s", "mdns_ip_addr_s"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4addrE", "mdns_ip_addr_s::addr"], [0, 6, 1, "_CPPv4N14mdns_ip_addr_s4nextE", "mdns_ip_addr_s::next"], [0, 7, 1, "_CPPv414mdns_ip_addr_t", "mdns_ip_addr_t"], [0, 4, 1, "_CPPv418mdns_ip_protocol_t", "mdns_ip_protocol_t"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_MAX"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V4"], [0, 1, 1, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E", "mdns_ip_protocol_t::MDNS_IP_PROTOCOL_V6"], [0, 2, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::esp_netif"], [0, 3, 1, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t", "mdns_netif_action::event_action"], [0, 2, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::max_results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::name"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::proto"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::results"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::service_type"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::timeout"], [0, 3, 1, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t", "mdns_query::type"], [0, 2, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::addr"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::host_name"], [0, 3, 1, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t", "mdns_query_a::timeout"], [0, 2, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete"], [0, 3, 1, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t", "mdns_query_async_delete::search"], [0, 2, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::num_results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::results"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::search"], [0, 3, 1, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t", "mdns_query_async_get_results::timeout"], [0, 2, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::max_results"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::name"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::notifier"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::proto"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::service_type"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::timeout"], [0, 3, 1, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t", "mdns_query_async_new::type"], [0, 2, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::max_results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::name"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::proto"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::results"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::service_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::timeout"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::transmission_type"], [0, 3, 1, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t", "mdns_query_generic::type"], [0, 7, 1, "_CPPv419mdns_query_notify_t", "mdns_query_notify_t"], [0, 2, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::max_results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::proto"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::results"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::service_type"], [0, 3, 1, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t", "mdns_query_ptr::timeout"], [0, 2, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free"], [0, 3, 1, "_CPPv423mdns_query_results_freeP13mdns_result_t", "mdns_query_results_free::results"], [0, 2, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::instance_name"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::proto"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::result"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::service_type"], [0, 3, 1, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_srv::timeout"], [0, 4, 1, "_CPPv430mdns_query_transmission_type_t", "mdns_query_transmission_type_t"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_MULTICAST"], [0, 1, 1, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE", "mdns_query_transmission_type_t::MDNS_QUERY_UNICAST"], [0, 2, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::instance_name"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::proto"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::result"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::service_type"], [0, 3, 1, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t", "mdns_query_txt::timeout"], [0, 2, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif"], [0, 3, 1, "_CPPv419mdns_register_netifP11esp_netif_t", "mdns_register_netif::esp_netif"], [0, 5, 1, "_CPPv413mdns_result_s", "mdns_result_s"], [0, 6, 1, "_CPPv4N13mdns_result_s4addrE", "mdns_result_s::addr"], [0, 6, 1, "_CPPv4N13mdns_result_s9esp_netifE", "mdns_result_s::esp_netif"], [0, 6, 1, "_CPPv4N13mdns_result_s8hostnameE", "mdns_result_s::hostname"], [0, 6, 1, "_CPPv4N13mdns_result_s13instance_nameE", "mdns_result_s::instance_name"], [0, 6, 1, "_CPPv4N13mdns_result_s11ip_protocolE", "mdns_result_s::ip_protocol"], [0, 6, 1, "_CPPv4N13mdns_result_s4nextE", "mdns_result_s::next"], [0, 6, 1, "_CPPv4N13mdns_result_s4portE", "mdns_result_s::port"], [0, 6, 1, "_CPPv4N13mdns_result_s5protoE", "mdns_result_s::proto"], [0, 6, 1, "_CPPv4N13mdns_result_s12service_typeE", "mdns_result_s::service_type"], [0, 6, 1, "_CPPv4N13mdns_result_s3ttlE", "mdns_result_s::ttl"], [0, 6, 1, "_CPPv4N13mdns_result_s3txtE", "mdns_result_s::txt"], [0, 6, 1, "_CPPv4N13mdns_result_s9txt_countE", "mdns_result_s::txt_count"], [0, 6, 1, "_CPPv4N13mdns_result_s13txt_value_lenE", "mdns_result_s::txt_value_len"], [0, 7, 1, "_CPPv413mdns_result_t", "mdns_result_t"], [0, 7, 1, "_CPPv418mdns_search_once_t", "mdns_search_once_t"], [0, 2, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::instance_name"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::num_items"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::port"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::proto"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::service_type"], [0, 3, 1, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add::txt"], [0, 2, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::hostname"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::instance_name"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::num_items"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::port"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::proto"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::service_type"], [0, 3, 1, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t", "mdns_service_add_for_host::txt"], [0, 2, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::hostname"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::proto"], [0, 3, 1, "_CPPv419mdns_service_existsPKcPKcPKc", "mdns_service_exists::service_type"], [0, 2, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::hostname"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::instance"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::proto"], [0, 3, 1, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc", "mdns_service_exists_with_instance::service_type"], [0, 2, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::instance_name"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::proto"], [0, 3, 1, "_CPPv430mdns_service_instance_name_setPKcPKcPKc", "mdns_service_instance_name_set::service_type"], [0, 2, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::hostname"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_name"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::instance_old"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::proto"], [0, 3, 1, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc", "mdns_service_instance_name_set_for_host::service_type"], [0, 2, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::port"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::proto"], [0, 3, 1, "_CPPv421mdns_service_port_setPKcPKc8uint16_t", "mdns_service_port_set::service_type"], [0, 2, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::hostname"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::instance"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::port"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::proto"], [0, 3, 1, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t", "mdns_service_port_set_for_host::service_type"], [0, 2, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::proto"], [0, 3, 1, "_CPPv419mdns_service_removePKcPKc", "mdns_service_remove::service_type"], [0, 2, 1, "_CPPv423mdns_service_remove_allv", "mdns_service_remove_all"], [0, 2, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::hostname"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::instance"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::proto"], [0, 3, 1, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc", "mdns_service_remove_for_host::service_type"], [0, 2, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::hostname"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::instance_name"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::proto"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::service_type"], [0, 3, 1, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc", "mdns_service_subtype_add_for_host::subtype"], [0, 2, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::key"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::proto"], [0, 3, 1, "_CPPv428mdns_service_txt_item_removePKcPKcPKc", "mdns_service_txt_item_remove::service_type"], [0, 2, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::hostname"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::instance"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::key"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::proto"], [0, 3, 1, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc", "mdns_service_txt_item_remove_for_host::service_type"], [0, 2, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::key"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::proto"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::service_type"], [0, 3, 1, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc", "mdns_service_txt_item_set::value"], [0, 2, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::hostname"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::instance"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::key"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::proto"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::service_type"], [0, 3, 1, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc", "mdns_service_txt_item_set_for_host::value"], [0, 2, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::hostname"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::instance"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::key"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value"], [0, 3, 1, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_for_host_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::key"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::proto"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::service_type"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value"], [0, 3, 1, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t", "mdns_service_txt_item_set_with_explicit_value_len::value_len"], [0, 2, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::num_items"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::proto"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::service_type"], [0, 3, 1, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set::txt"], [0, 2, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::hostname"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::instance"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::num_items"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::proto"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::service_type"], [0, 3, 1, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t", "mdns_service_txt_set_for_host::txt"], [0, 5, 1, "_CPPv415mdns_txt_item_t", "mdns_txt_item_t"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t3keyE", "mdns_txt_item_t::key"], [0, 6, 1, "_CPPv4N15mdns_txt_item_t5valueE", "mdns_txt_item_t::value"], [0, 2, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif"], [0, 3, 1, "_CPPv421mdns_unregister_netifP11esp_netif_t", "mdns_unregister_netif::esp_netif"]]}, "objtypes": {"0": "c:macro", "1": "cpp:enumerator", "2": "cpp:function", "3": "cpp:functionParam", "4": "cpp:enum", "5": "cpp:class", "6": "cpp:member", "7": "cpp:type"}, "objnames": {"0": ["c", "macro", "C \u5b8f"], "1": ["cpp", "enumerator", "C++ \u679a\u4e3e\u6210\u5458"], "2": ["cpp", "function", "C++ \u51fd\u6570"], "3": ["cpp", "functionParam", "C++ \u51fd\u6570\u53c2\u6570"], "4": ["cpp", "enum", "C++ \u679a\u4e3e"], "5": ["cpp", "class", "C++ \u7c7b"], "6": ["cpp", "member", "C++ \u6210\u5458"], "7": ["cpp", "type", "C++ \u7c7b\u578b"]}, "titleterms": {"mdns": 0, "api": 0, "header": 0, "file": 0, "function": 0, "structur": 0, "macro": 0, "type": 0, "definit": 0, "enumer": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"mDNS \u670d\u52a1": [[0, "mdns"], [0, "id4"]], "\u6982\u8ff0": [[0, "id1"]], "mDNS \u5c5e\u6027": [[0, "id3"]], "mDNS \u67e5\u8be2": [[0, "id6"]], "\u5e94\u7528\u793a\u4f8b": [[0, "id7"]], "API \u53c2\u8003": [[0, "api"]], "Header File": [[0, "header-file"]], "Functions": [[0, "functions"]], "Structures": [[0, "structures"]], "Macros": [[0, "macros"]], "Type Definitions": [[0, "type-definitions"]], "Enumerations": [[0, "enumerations"]]}, "indexentries": {"mdns_type_aaaa\uff08c macro\uff09": [[0, "c.MDNS_TYPE_AAAA"]], "mdns_type_any\uff08c macro\uff09": [[0, "c.MDNS_TYPE_ANY"]], "mdns_type_a\uff08c macro\uff09": [[0, "c.MDNS_TYPE_A"]], "mdns_type_nsec\uff08c macro\uff09": [[0, "c.MDNS_TYPE_NSEC"]], "mdns_type_opt\uff08c macro\uff09": [[0, "c.MDNS_TYPE_OPT"]], "mdns_type_ptr\uff08c macro\uff09": [[0, "c.MDNS_TYPE_PTR"]], "mdns_type_srv\uff08c macro\uff09": [[0, "c.MDNS_TYPE_SRV"]], "mdns_type_txt\uff08c macro\uff09": [[0, "c.MDNS_TYPE_TXT"]], "mdns_delegate_hostname_add\uff08c++ function\uff09": [[0, "_CPPv426mdns_delegate_hostname_addPKcPK14mdns_ip_addr_t"]], "mdns_delegate_hostname_remove\uff08c++ function\uff09": [[0, "_CPPv429mdns_delegate_hostname_removePKc"]], "mdns_event_actions_t::mdns_event_announce_ip4\uff08c++ enumerator\uff09": [[0, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP4E"]], "mdns_event_actions_t::mdns_event_announce_ip6\uff08c++ enumerator\uff09": [[0, "_CPPv4N20mdns_event_actions_t23MDNS_EVENT_ANNOUNCE_IP6E"]], "mdns_event_actions_t::mdns_event_disable_ip4\uff08c++ enumerator\uff09": [[0, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP4E"]], "mdns_event_actions_t::mdns_event_disable_ip6\uff08c++ enumerator\uff09": [[0, "_CPPv4N20mdns_event_actions_t22MDNS_EVENT_DISABLE_IP6E"]], "mdns_event_actions_t::mdns_event_enable_ip4\uff08c++ enumerator\uff09": [[0, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP4E"]], "mdns_event_actions_t::mdns_event_enable_ip6\uff08c++ enumerator\uff09": [[0, "_CPPv4N20mdns_event_actions_t21MDNS_EVENT_ENABLE_IP6E"]], "mdns_event_actions_t\uff08c++ enum\uff09": [[0, "_CPPv420mdns_event_actions_t"]], "mdns_free\uff08c++ function\uff09": [[0, "_CPPv49mdns_freev"]], "mdns_hostname_exists\uff08c++ function\uff09": [[0, "_CPPv420mdns_hostname_existsPKc"]], "mdns_hostname_set\uff08c++ function\uff09": [[0, "_CPPv417mdns_hostname_setPKc"]], "mdns_init\uff08c++ function\uff09": [[0, "_CPPv49mdns_initv"]], "mdns_instance_name_set\uff08c++ function\uff09": [[0, "_CPPv422mdns_instance_name_setPKc"]], "mdns_ip_addr_s::addr\uff08c++ member\uff09": [[0, "_CPPv4N14mdns_ip_addr_s4addrE"]], "mdns_ip_addr_s::next\uff08c++ member\uff09": [[0, "_CPPv4N14mdns_ip_addr_s4nextE"]], "mdns_ip_addr_s\uff08c++ struct\uff09": [[0, "_CPPv414mdns_ip_addr_s"]], "mdns_ip_addr_t\uff08c++ type\uff09": [[0, "_CPPv414mdns_ip_addr_t"]], "mdns_ip_protocol_t::mdns_ip_protocol_max\uff08c++ enumerator\uff09": [[0, "_CPPv4N18mdns_ip_protocol_t20MDNS_IP_PROTOCOL_MAXE"]], "mdns_ip_protocol_t::mdns_ip_protocol_v4\uff08c++ enumerator\uff09": [[0, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V4E"]], "mdns_ip_protocol_t::mdns_ip_protocol_v6\uff08c++ enumerator\uff09": [[0, "_CPPv4N18mdns_ip_protocol_t19MDNS_IP_PROTOCOL_V6E"]], "mdns_ip_protocol_t\uff08c++ enum\uff09": [[0, "_CPPv418mdns_ip_protocol_t"]], "mdns_netif_action\uff08c++ function\uff09": [[0, "_CPPv417mdns_netif_actionP11esp_netif_t20mdns_event_actions_t"]], "mdns_query_async_delete\uff08c++ function\uff09": [[0, "_CPPv423mdns_query_async_deleteP18mdns_search_once_t"]], "mdns_query_async_get_results\uff08c++ function\uff09": [[0, "_CPPv428mdns_query_async_get_resultsP18mdns_search_once_t8uint32_tPP13mdns_result_tP7uint8_t"]], "mdns_query_async_new\uff08c++ function\uff09": [[0, "_CPPv420mdns_query_async_newPKcPKcPKc8uint16_t8uint32_t6size_t19mdns_query_notify_t"]], "mdns_query_a\uff08c++ function\uff09": [[0, "_CPPv412mdns_query_aPKc8uint32_tP14esp_ip4_addr_t"]], "mdns_query_generic\uff08c++ function\uff09": [[0, "_CPPv418mdns_query_genericPKcPKcPKc8uint16_t30mdns_query_transmission_type_t8uint32_t6size_tPP13mdns_result_t"]], "mdns_query_notify_t\uff08c++ type\uff09": [[0, "_CPPv419mdns_query_notify_t"]], "mdns_query_ptr\uff08c++ function\uff09": [[0, "_CPPv414mdns_query_ptrPKcPKc8uint32_t6size_tPP13mdns_result_t"]], "mdns_query_results_free\uff08c++ function\uff09": [[0, "_CPPv423mdns_query_results_freeP13mdns_result_t"]], "mdns_query_srv\uff08c++ function\uff09": [[0, "_CPPv414mdns_query_srvPKcPKcPKc8uint32_tPP13mdns_result_t"]], "mdns_query_transmission_type_t::mdns_query_multicast\uff08c++ enumerator\uff09": [[0, "_CPPv4N30mdns_query_transmission_type_t20MDNS_QUERY_MULTICASTE"]], "mdns_query_transmission_type_t::mdns_query_unicast\uff08c++ enumerator\uff09": [[0, "_CPPv4N30mdns_query_transmission_type_t18MDNS_QUERY_UNICASTE"]], "mdns_query_transmission_type_t\uff08c++ enum\uff09": [[0, "_CPPv430mdns_query_transmission_type_t"]], "mdns_query_txt\uff08c++ function\uff09": [[0, "_CPPv414mdns_query_txtPKcPKcPKc8uint32_tPP13mdns_result_t"]], "mdns_query\uff08c++ function\uff09": [[0, "_CPPv410mdns_queryPKcPKcPKc8uint16_t8uint32_t6size_tPP13mdns_result_t"]], "mdns_register_netif\uff08c++ function\uff09": [[0, "_CPPv419mdns_register_netifP11esp_netif_t"]], "mdns_result_s::addr\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s4addrE"]], "mdns_result_s::esp_netif\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s9esp_netifE"]], "mdns_result_s::hostname\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s8hostnameE"]], "mdns_result_s::instance_name\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s13instance_nameE"]], "mdns_result_s::ip_protocol\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s11ip_protocolE"]], "mdns_result_s::next\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s4nextE"]], "mdns_result_s::port\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s4portE"]], "mdns_result_s::proto\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s5protoE"]], "mdns_result_s::service_type\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s12service_typeE"]], "mdns_result_s::ttl\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s3ttlE"]], "mdns_result_s::txt_count\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s9txt_countE"]], "mdns_result_s::txt_value_len\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s13txt_value_lenE"]], "mdns_result_s::txt\uff08c++ member\uff09": [[0, "_CPPv4N13mdns_result_s3txtE"]], "mdns_result_s\uff08c++ struct\uff09": [[0, "_CPPv413mdns_result_s"]], "mdns_result_t\uff08c++ type\uff09": [[0, "_CPPv413mdns_result_t"]], "mdns_search_once_t\uff08c++ type\uff09": [[0, "_CPPv418mdns_search_once_t"]], "mdns_service_add_for_host\uff08c++ function\uff09": [[0, "_CPPv425mdns_service_add_for_hostPKcPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"]], "mdns_service_add\uff08c++ function\uff09": [[0, "_CPPv416mdns_service_addPKcPKcPKc8uint16_tA_15mdns_txt_item_t6size_t"]], "mdns_service_exists_with_instance\uff08c++ function\uff09": [[0, "_CPPv433mdns_service_exists_with_instancePKcPKcPKcPKc"]], "mdns_service_exists\uff08c++ function\uff09": [[0, "_CPPv419mdns_service_existsPKcPKcPKc"]], "mdns_service_instance_name_set_for_host\uff08c++ function\uff09": [[0, "_CPPv439mdns_service_instance_name_set_for_hostPKcPKcPKcPKcPKc"]], "mdns_service_instance_name_set\uff08c++ function\uff09": [[0, "_CPPv430mdns_service_instance_name_setPKcPKcPKc"]], "mdns_service_port_set_for_host\uff08c++ function\uff09": [[0, "_CPPv430mdns_service_port_set_for_hostPKcPKcPKcPKc8uint16_t"]], "mdns_service_port_set\uff08c++ function\uff09": [[0, "_CPPv421mdns_service_port_setPKcPKc8uint16_t"]], "mdns_service_remove_all\uff08c++ function\uff09": [[0, "_CPPv423mdns_service_remove_allv"]], "mdns_service_remove_for_host\uff08c++ function\uff09": [[0, "_CPPv428mdns_service_remove_for_hostPKcPKcPKcPKc"]], "mdns_service_remove\uff08c++ function\uff09": [[0, "_CPPv419mdns_service_removePKcPKc"]], "mdns_service_subtype_add_for_host\uff08c++ function\uff09": [[0, "_CPPv433mdns_service_subtype_add_for_hostPKcPKcPKcPKcPKc"]], "mdns_service_txt_item_remove_for_host\uff08c++ function\uff09": [[0, "_CPPv437mdns_service_txt_item_remove_for_hostPKcPKcPKcPKcPKc"]], "mdns_service_txt_item_remove\uff08c++ function\uff09": [[0, "_CPPv428mdns_service_txt_item_removePKcPKcPKc"]], "mdns_service_txt_item_set_for_host_with_explicit_value_len\uff08c++ function\uff09": [[0, "_CPPv458mdns_service_txt_item_set_for_host_with_explicit_value_lenPKcPKcPKcPKcPKcPKc7uint8_t"]], "mdns_service_txt_item_set_for_host\uff08c++ function\uff09": [[0, "_CPPv434mdns_service_txt_item_set_for_hostPKcPKcPKcPKcPKcPKc"]], "mdns_service_txt_item_set_with_explicit_value_len\uff08c++ function\uff09": [[0, "_CPPv449mdns_service_txt_item_set_with_explicit_value_lenPKcPKcPKcPKc7uint8_t"]], "mdns_service_txt_item_set\uff08c++ function\uff09": [[0, "_CPPv425mdns_service_txt_item_setPKcPKcPKcPKc"]], "mdns_service_txt_set_for_host\uff08c++ function\uff09": [[0, "_CPPv429mdns_service_txt_set_for_hostPKcPKcPKcPKcA_15mdns_txt_item_t7uint8_t"]], "mdns_service_txt_set\uff08c++ function\uff09": [[0, "_CPPv420mdns_service_txt_setPKcPKcA_15mdns_txt_item_t7uint8_t"]], "mdns_txt_item_t::key\uff08c++ member\uff09": [[0, "_CPPv4N15mdns_txt_item_t3keyE"]], "mdns_txt_item_t::value\uff08c++ member\uff09": [[0, "_CPPv4N15mdns_txt_item_t5valueE"]], "mdns_txt_item_t\uff08c++ struct\uff09": [[0, "_CPPv415mdns_txt_item_t"]], "mdns_unregister_netif\uff08c++ function\uff09": [[0, "_CPPv421mdns_unregister_netifP11esp_netif_t"]]}}) \ No newline at end of file