code: def illum(target, et, abcorr, obsrvr, spoint):
      
      target = stypes.stringToCharP(target)
      et = ctypes.c_double(et)
      abcorr = stypes.stringToCharP(abcorr)
      obsrvr = stypes.stringToCharP(obsrvr)
      spoint = stypes.toDoubleVector(spoint)
      phase = ctypes.c_double(0)
      solar = ctypes.c_double(0)
      emissn = ctypes.c_double(0)
      libspice.illum_c(target, et, abcorr, obsrvr, spoint, ctypes.byref(phase),
                       ctypes.byref(solar), ctypes.byref(emissn))
      return phase.value, solar.value, emissn.value
docs: Deprecated: This routine has been superseded by the CSPICE
      routine ilumin. This routine is supported for purposes of
      backward compatibility only.
  
      Find the illumination angles at a specified surface point of a
      target body.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/illum_c.html
  
      :param target: Name of target body.
      :type target: str
      :param et: Epoch in ephemeris seconds past J2000.
      :type et: float
      :param abcorr: Desired aberration correction.
      :type abcorr: str
      :param obsrvr: Name of observing body.
      :type obsrvr: str
      :param spoint: Body-fixed coordinates of a target surface point.
      :type spoint: 3-Element Array of floats
      :return:
              Phase angle,
              Solar incidence angle,
              and Emission angle at the surface point.
      :rtype: tuple