code: def extract_role_links(app, filename):
      t = (app.outdir / filename).read_text(encoding="utf8")
      lis = [l for l in t.split("\n") if l.startswith("<li")]
      entries = []
      for l in lis:
          li = ElementTree.fromstring(
              l
          )  # NoQA: S314  # using known data in tests
          aList = list(li.iter("a"))
          assert len(aList) == 1
          a = aList[0]
          target = a.attrib["href"].lstrip("#")
          title = a.attrib["title"]
          assert len(a) == 1
          code = a[0]
          assert code.tag == "code"
          text = "".join(code.itertext())
          entries.append((target, title, text))
      return entries
  
imports: import itertools
  import zlib
  from xml.etree import ElementTree
  import pytest
  from sphinx import addnodes
  from sphinx.addnodes import desc, desc_content, desc_name, desc_parameter, desc_parameterlist, desc_sig_name, desc_sig_space, desc_signature, desc_signature_line, pending_xref
  from sphinx.domains.c import DefinitionError, DefinitionParser, Symbol, _id_prefix, _macroKeywords, _max_id
  from sphinx.ext.intersphinx import load_mappings, normalize_intersphinx_mapping
  from sphinx.testing import restructuredtext
  from sphinx.testing.util import assert_node
  from sphinx.writers.text import STDINDENT
label_desc: Use image node_id 20 for calling a global function with example usage: extract_role_links(app, filename) and returns: entries