Direct Access Transport Library Functions datsrqquery(3DAT)
NAME
datsrqquery - provide parameters of the shared receive
queue
SYNOPSIS
cc [ flag... ] file... -ldat [ library... ]
#include
DATRETURN
datsrqquery (
IN DATSRQHANDLE srqhandle,
IN DATSRQPARAMASK srqparammask,
OUT DATSRQPARAM *srqparam
)
PARAMETERS
srqhandle A handle for an instance of the SRQ.
srqparammask The mask for SRQ parameters.
srqparam A pointer to a Consumer-allocated struc-
ture that the Provider fills with SRQ
parameters.
DESCRIPTION
The datsrqquery() function provides to the Consumer SRQ
parameters. The Consumer passes a pointer to the Consumer-
allocated structures for SRQ parameters that the Provider
fills.
The srqparammask argument allows Consumers to specify
which parameters to query. The Provider returns values for
the requested srqparammask parameters. The Provider can
return values for any other parameters.
In addition to the elements in SRQ attribute,
datsrqquery() provides additional information in the
srqparam structure if Consumer requests it with
srqparammask settings. The two that are related to entry
counts on SRQ are the number of Receive buffers
(availabledtocount) available for EPs to dequeue and the
number of occupied SRQ entries (outstandingdtocount) not
available for new Recv buffer postings.
RETURN VALUES
SunOS 5.11 Last change: 16 Jul 2004 1
Direct Access Transport Library Functions datsrqquery(3DAT)
DATSUCES The operation was successful.
DATINVALIDPARAMETER The srqparammask argument is
invalid.
DATINVALIDHANDLE The srqhandle argument is an
invalid DAT handle.
USAGE
The Provider might not be able to provide the number of out-
standing Recv of SRQ or available Recvs of SRQ. The Provider
attribute indicates if the Provider does not support the
query for one or these values. Even when the Provider sup-
ports the query for one or both of these values, it might
not be able to provide this value at this moment. In either
case, the return value for the attribute that cannot be pro-
vided will be DATVALUEUNKNOWN.
Example: Consumer created SRQ with 10 entries and associated
1 EP with it. 3 Recv buffers have been posted to it. The
query will report:
maxrecvdtos=10,
availabledtocount=3,
outstandingdtocount=3.
After a Send message arrival the query will report:
maxrecvdtos=10,
availabledtocount=2,
outstandingdtocount=3.
After Consumer dequeues Recv completion the query will
report:
maxrecvdtos=10,
availabledtocount=2,
outstandingdtocount=2.
SunOS 5.11 Last change: 16 Jul 2004 2
Direct Access Transport Library Functions datsrqquery(3DAT)
In general, each EP associated with SRQ can have multiple
buffers in progress of receiving messages as well completed
Recv on EVDs. The watermark setting helps to control how
many Recv buffers posted to SRQ an Endpoint can own.
If the Provider cannot support the query for the number of
outstanding Recv of SRQ or available Recvs of SRQ, the value
return for that attribute should be DATVALUEUNKNOWN.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.2
MT-Level Unsafe
SEE ALSO
datsrqcreate(3DAT), datsrqfree(3DAT),
datsrqpostrecv(3DAT), datsrqresize(3DAT),
datsrqsetlw(3DAT), libdat(3LIB), attributes(5)
SunOS 5.11 Last change: 16 Jul 2004 3
|