The XYZ extension consists of ten new requests and no new errors
or events. The actual protocol encoding for XYZ can be found in Appendix B.
The requests are of two types:
- those requests used to set or query the state of the XYZ facility
exclusive of the tag space, i.e. the state used to
determine XYZ's operation; and
- those requests used to set or query the state of the tag space.
The first category consists of four requests.
XamineYourZerverInstrumentation is used to turn on or off
XYZ's instrumentation function.
The request also has the side effect of resetting
the XYZ status to the no error state (XYZ_NO_ERROR). The
request has no reply.
XamineYourZerverTracing is used to turn on or off XYZ's
tracing function. The request has no reply.
XamineYourZerverSetCurTraceLevel is used to change the current
trace level. The request does not actually enable tracing;
that is done through the previous request. The request has no
reply.
XamineYourZerverQueryState is used to query the XYZ status,
current trace level, and the XYZ instrumentation
and tracing booleans. The information is returned
by a reply.
The second category of requests used to query or modify the tag space
consists of six requests.
XamineYourZerverGetTag is used to query the value and
trace level of a specific tag named in the request. The reply
contains the value and trace level.
XamineYourZerverSetValue is used to set the value of a
specific tag named in the request to a specified value. This
request has no reply.
XamineYourZerverSetTraceLevel is used to set the trace level
of a specific tag named in the request to a trace level specified
in the request. This request has no reply.
XamineYourZerverListValues is used to obtain the values
of tags whose tag names match any of a set of patterns supplied
by the request and whose tag value is not zero.
The patterns should use the ISO Latin-1 encoding. In each pattern,
the ``?'' character will match any single character,
and the ``*'' character will match any number of characters.
Patterns are case sensitive.
The maximum numbers of tags to be returned must be specified.
The reply consists of tag name and tag value
pairs, the number of matching tags, and the number of matching
pairs actually returned.
Implicit in the idea of matching
patterns is the idea that tag names have been
selected to make pattern matching an effective way of specifying
sets of tags. For example, a server implementor
might suffix all tag names of tags at function entry points
with ``-entered'' so he could search for ``*-entered''
and query the tag values for all tagged function entry points.
The extension itself defines no conventions for tag naming.
XamineYourZerverResetValues is used to reset
all tags in the tag space to the default value of zero.
The request also has the side effect of resetting
the XYZ status to the no error state. The
request has no reply.
XamineYourZerverResetTraceLevels is used to reset
all trace levels in the tag space to the default value of 255.
The request also has the side effect of resetting
the XYZ status to the no error state. The
request has no reply.