Index: ossp-pkg/xds/xds.pod RCS File: /v/ossp/cvs/ossp-pkg/xds/xds.pod,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/xds/xds.pod,v' 2>/dev/null --- xds.pod 2001/07/03 08:25:24 1.1 +++ xds.pod 2001/07/03 11:36:22 1.2 @@ -41,6 +41,9 @@ function every time it is called; it is not touched in any way by the xds library. +A valid name I for a callback function consists of an arbitrary +number of characters from the class [a-zA-Z0-9_-]. + =item int B(xds_t* I, const char* I); Remove encoding/decoding engine I from context I. The @@ -56,10 +59,10 @@ B the buffer nor will it try to B it if it's too small. A buffer given to xds as a "gift" is henceforth owned by xds and may be Bd or Bed as the library sees fit. If I is -B, I must be a pointer obtained from calling -B or a comparable system routine. Calling B -with a I of B will cause the xds library to allocate a -buffer of its own. I is ignored in this case. +B, I must be a pointer obtained from calling the +B API. Calling B with a I of B +will cause the xds library to allocate a buffer of its own. +I is ignored in this case. Decoding mode: I contains the encoded representation of the data to be used for following B calls. The encoded data is @@ -68,6 +71,11 @@ is set to B, the library will B I when the context is destroyed. +B returns one of the following codes signifying success +or failure: B (everything alright), B (failed +to allocate new internal buffers), and B +(arguments don't make sense). + =item int B(xds_t* I, xds_scope_t flag, void** buffer, size_t* buffer_size); This routine will write the address and size of the internal buffer in @@ -84,15 +92,41 @@ by the application programmer from now on, it is no longer modified or used in any way by the library. - =item int B(xds_t* I, const char* I, ...); +The B function call will encode an arbitrary number of values +into the chosen representation. The syntax is very similar to +B: As parameters, it requires the I handle obtained from +B, a format string I describing the following value +parameters, and an arbitrary number of actual values. + +The format string lists the names of the callback functions to be used +in order to format the values; it has the format "name name ...". The +names are delimited by any number of characters any of which is not +part of the character set allowed for function names here. Hence, you +can delimit the names by blanks, tabs, dollar signs or pretty much +anyting your want. + +B will return either B (everything OK), +B (failed allocating memory for intenal buffering), +B (can't expand internal buffer because it's owned +by the application), B (parameters don't make +sense), B (specified callback can't handle this +data type), and B (unknown call back name used +in I). + =item int B(xds_t* I, const char* I, ...); +Like B, only the other way round. + =item int B(xds_t* I, const char* I, va_list I); +See B. + =item int B(xds_t* I, const char* I, va_list I); +See B. + =back =cut