def unitim(epoch, insys, outsys):
    """
    Transform time from one uniform scale to another.  The uniform
    time scales are TAI, TDT, TDB, ET, JED, JDTDB, JDTDT.

    http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/unitim_c.html

    :param epoch: An epoch to be converted.
    :type epoch: float
    :param insys: The time scale associated with the input epoch.
    :type insys: str
    :param outsys: The time scale associated with the function value.
    :type outsys: str
    :return:
            The float in outsys that is equivalent
            to the epoch on the insys time scale.
    :rtype: float
    """
    epoch = ctypes.c_double(epoch)
    insys = stypes.stringToCharP(insys)
    outsys = stypes.stringToCharP(outsys)
    return libspice.unitim_c(epoch, insys, outsys)