docs: def gfilum(method, angtyp, target, illumn,
             fixref, abcorr, obsrvr, spoint,
             relate, refval, adjust, step, nintvls, cnfine, result=None):
      """
      Return the time window over which a specified constraint on
      the observed phase, solar incidence, or emission angle at
      a specifed target body surface point is met.
  
      :param method: Shape model used to represent the surface of the target body.
      :type method: str
      :param angtyp: The type of illumination angle for which a search is to be performed.
      :type angtyp: str
      :param target: Name of a target body.
      :type target: str
      :param illumn: Name of the illumination source.
      :type illumn: str
      :param fixref: Name of the body-fixed, body-centered reference frame associated with the target body.
      :type fixref: str
      :param abcorr: The aberration corrections to be applied.
      :type abcorr: str
      :param obsrvr: Name of an observing body.
      :type obsrvr: str
      :param spoint: Body-fixed coordinates of a target surface point.
      :type spoint: 3-Element Array of floats
      :param relate: Relational operator used to define a constraint on a specified illumination angle.
      :type relate: str
      :param refval: Reference value used with 'relate' to define an equality or inequality to be satisfied by the specified illumination angle.
      :type refval: float
      :param adjust: Parameter used to modify searches for absolute extrema.
      :type adjust: float
      :param step: Step size to be used in the search.
      :type step: float
      :param nintvls: Number of intervals that can be accommodated by each of the dynamically allocated workspace windows used internally by this routine.
      :type nintvls: int
      :param cnfine: Window that confines the time period over which the specified search is conducted. This can be updated by gfilum
      :type cnfine: spiceypy.utils.support_types.SpiceCell
      :param result: Optional SPICE Window of intervals in the confinement window that the illumination angle constraint is satisfied.
      :type result: spiceypy.utils.support_types.SpiceCell
      """
      assert isinstance(cnfine, stypes.SpiceCell)
      assert cnfine.is_double()
      if result is None:
          result = stypes.SPICEDOUBLE_CELL(2000)
      else:
          assert isinstance(result, stypes.SpiceCell)
          assert result.is_double()
      method = stypes.stringToCharP(method)
      angtyp = stypes.stringToCharP(angtyp)
      target = stypes.stringToCharP(target)
      illumn = stypes.stringToCharP(illumn)
      fixref = stypes.stringToCharP(fixref)
      abcorr = stypes.stringToCharP(abcorr)
      obsrvr = stypes.stringToCharP(obsrvr)
      spoint = stypes.toDoubleVector(spoint)
      relate = stypes.stringToCharP(relate)
      refval = ctypes.c_double(refval)
      adjust = ctypes.c_double(adjust)
      step   = ctypes.c_double(step)
      nintvls = ctypes.c_int(nintvls)
      libspice.gfilum_c(method, angtyp, target, illumn,
                        fixref, abcorr, obsrvr, spoint,
                        relate, refval, adjust, step,
                        nintvls, ctypes.byref(cnfine), ctypes.byref(result))
      return result