code: def gfudb(udfuns, udfunb, step, cnfine, result):
      
      step = ctypes.c_double(step)
      libspice.gfudb_c(udfuns, udfunb, step, ctypes.byref(cnfine), ctypes.byref(result))
docs: Perform a GF search on a user defined boolean quantity.
  
      https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/gfudb_c.html
  
      :param udfuns: Name of the routine that computes a scalar quantity of interest corresponding to an 'et'.
      :type udfuns: ctypes.CFunctionType
      :param udfunb: Name of the routine returning the boolean value corresponding to an 'et'.
      :type udfunb: ctypes.CFunctionType
      :param step: Step size used for locating extrema and roots.
      :type step: float
      :param cnfine: SPICE window to which the search is restricted.
      :type cnfine: spiceypy.utils.support_types.SpiceCell
      :param result: SPICE window containing results.
      :type result: spiceypy.utils.support_types.SpiceCell
      :return: result
      :rtype: spiceypy.utils.support_types.SpiceCell