docs: def ltime(etobs, obs, direct, targ):
      """
      This routine computes the transmit (or receive) time
      of a signal at a specified target, given the receive
      (or transmit) time at a specified observer. The elapsed
      time between transmit and receive is also returned.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/ltime_c.html
  
      :param etobs: Epoch of a signal at some observer
      :type etobs: float
      :param obs: NAIF ID of some observer
      :type obs: int
      :param direct: Direction the signal travels ( "->" or "<-" )
      :type direct: str
      :param targ: NAIF ID of the target object
      :type targ: int
      :return: epoch and time
      :rtype: tuple
      """
      etobs = ctypes.c_double(etobs)
      obs = ctypes.c_int(obs)
      direct = stypes.stringToCharP(direct)
      targ = ctypes.c_int(targ)
      ettarg = ctypes.c_double()
      elapsd = ctypes.c_double()
      libspice.ltime_c(etobs, obs, direct, targ, ctypes.byref(ettarg),
                       ctypes.byref(elapsd))
      return ettarg.value, elapsd.value