def gfposc(target, inframe, abcorr, obsrvr, crdsys, coord, relate, refval,
           adjust, step, nintvals, cnfine, result=None):
    """
    Determine time intervals for which a coordinate of an
    observer-target position vector satisfies a numerical constraint.

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

    :param target: Name of the target body.
    :type target: str
    :param inframe: Name of the reference frame for coordinate calculations.
    :type inframe: str
    :param abcorr: Aberration correction flag.
    :type abcorr: str
    :param obsrvr: Name of the observing body.
    :type obsrvr: str
    :param crdsys: Name of the coordinate system containing COORD
    :type crdsys: str
    :param coord: Name of the coordinate of interest
    :type coord: str
    :param relate: Relational operator.
    :type relate: str
    :param refval: Reference value.
    :type refval: float
    :param adjust: Adjustment value for absolute extrema searches.
    :type adjust: float
    :param step: Step size used for locating extrema and roots.
    :type step: float
    :param nintvals: Workspace window interval count.
    :type nintvals: int
    :param cnfine: SPICE window to which the search is restricted.
    :type cnfine: spiceypy.utils.support_types.SpiceCell
    :param result: Optional SPICE window containing results.
    :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()
    target = stypes.stringToCharP(target)
    inframe = stypes.stringToCharP(inframe)
    abcorr = stypes.stringToCharP(abcorr)
    obsrvr = stypes.stringToCharP(obsrvr)
    crdsys = stypes.stringToCharP(crdsys)
    coord = stypes.stringToCharP(coord)
    relate = stypes.stringToCharP(relate)
    refval = ctypes.c_double(refval)
    adjust = ctypes.c_double(adjust)
    step = ctypes.c_double(step)
    nintvals = ctypes.c_int(nintvals)
    libspice.gfposc_c(target, inframe, abcorr, obsrvr, crdsys, coord,
                      relate, refval, adjust, step, nintvals,
                      ctypes.byref(cnfine), ctypes.byref(result))
    return result
Determine time intervals for which a coordinate of an
    observer-target position vector satisfies a numerical constraint.

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

    :param target: Name of the target body.
    :type target: str
    :param inframe: Name of the reference frame for coordinate calculations.
    :type inframe: str
    :param abcorr: Aberration correction flag.
    :type abcorr: str
    :param obsrvr: Name of the observing body.
    :type obsrvr: str
    :param crdsys: Name of the coordinate system containing COORD
    :type crdsys: str
    :param coord: Name of the coordinate of interest
    :type coord: str
    :param relate: Relational operator.
    :type relate: str
    :param refval: Reference value.
    :type refval: float
    :param adjust: Adjustment value for absolute extrema searches.
    :type adjust: float
    :param step: Step size used for locating extrema and roots.
    :type step: float
    :param nintvals: Workspace window interval count.
    :type nintvals: int
    :param cnfine: SPICE window to which the search is restricted.
    :type cnfine: spiceypy.utils.support_types.SpiceCell
    :param result: Optional SPICE window containing results.
    :type result: spiceypy.utils.support_types.SpiceCell