https://invisible-island.net/xterm/xtoolkit/
XtGetSelectionValueIncremental, XtGetSelectionValuesIncremental - obtain selection values
#include <X11/Intrinsic.h> void XtGetSelectionValueIncremental(Widget w, Atom selection, Atom tar- get, XtSelectionCallbackProc callback, XtPointer client_data, Time time); void XtGetSelectionValuesIncremental(Widget w, Atom selection, Atom *targets, int count, XtSelectionCallbackProc callback, XtPointer *client_data, Time time);
callback Specifies the callback procedure that is to be called when the selection value has been obtained. client_data Specifies the argument that is to be passed to the specified procedure when it is called. client_data Specifies the client data (one for each target type) that is passed to the callback procedure when it is called for that target. count Specifies the length of the targets and client_data lists. selection Specifies the particular selection desired (that is, primary or secondary). target Specifies the type of the information that is needed about the selection. targets Specifies the types of information that is needed about the selection. time Specifies the timestamp that indicates when the selection value is desired. w Specifies the widget that is making the request.
The XtGetSelectionValueIncremental function is similar to XtGetSelec- tionValue except that the selection_callback procedure will be called repeatedly upon delivery of multiple segments of the selection value. The end of the selection value is indicated when selection_callback is called with a non-NULL value of length zero, which must still be freed by the client. If the transfer of the selection is aborted in the mid- dle of a transfer (for example, because to timeout), the selec- tion_callback procedure is called with a type value equal to the sym- bolic constant XT_CONVERT_FAIL so that the requestor can dispose of the partial selection value it has collected up until that point. Upon receiving XT_CONVERT_FAIL, the requesting client must determine for itself whether or not a partially completed transfer is meaningful. The XtGetSelectionValuesIncremental function is similar to XtGet- SelectionValueIncremental except that it takes a list of target types and a list of client data and obtains the current value of the selec- tion converted to each of the targets. The effect is as if each target were specified in a separate call to XtGetSelectionValueIncremental. The callback is called once with the corresponding client data for each target. XtGetSelectionValuesIncremental does guarantee that all the conversions will use the same selection value because the ownership of the selection cannot change in the middle of the list, as would be when calling XtGetSelectionValueIncremental repeatedly.
X Toolkit Intrinsics – C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.5.XtGetSelectionValueIncremental(3)