def dafgsr(handle, recno, begin, end):
    """
    Read a portion of the contents of (words in) a summary record in a DAF file.

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

    :param handle: Handle of DAF.
    :type handle: int
    :param recno: Record number; word indices are 1-based, 1 to 128 inclusive.
    :type recno: int
    :param begin: Index of first word to read from record, will be clamped > 0.
    :type begin: int
    :param end: Index of last word to read, wll be clamped < 129
    :type end: int
    :return: Contents of request sub-record
    :rtype: float numpy.ndarray
    """
    handle = ctypes.c_int(handle)
    recno = ctypes.c_int(recno)
    begin = ctypes.c_int(begin)
    end = ctypes.c_int(end)
    # dafgsr_c will retrieve no more than 128 words
    data = stypes.emptyDoubleVector(1 + min([128,end.value]) - max([begin.value,1]))
    found = ctypes.c_int()
    libspice.dafgsr_c(handle, recno, begin, end, data, ctypes.byref(found))
    return stypes.cVectorToPython(data), bool(found.value)