docs: def gnpool(name, start, room, lenout=_default_len_out):
      """
      Return names of kernel variables matching a specified template.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/gnpool_c.html
  
      :param name: Template that names should match.
      :type name: str
      :param start: Index of first matching name to retrieve.
      :type start: int
      :param room: The largest number of values to return.
      :type room: int
      :param lenout: Length of strings in output array kvars.
      :type lenout: int
      :return: Kernel pool variables whose names match name.
      :rtype: list of str
      """
      name = stypes.stringToCharP(name)
      start = ctypes.c_int(start)
      kvars = stypes.emptyCharArray(yLen=room, xLen=lenout)
      room = ctypes.c_int(room)
      lenout = ctypes.c_int(lenout)
      n = ctypes.c_int()
      found = ctypes.c_int()
      libspice.gnpool_c(name, start, room, lenout, ctypes.byref(n), kvars,
                        ctypes.byref(found))
      return stypes.cVectorToPython(kvars)[0:n.value], bool(found.value)