ArgSdsList - List an Sds structure calling a user supplied callback.

Function

List an Sds structure calling a user supplied callback.

Description

This routine does basically the same job as SdsList, but invokes a user supplied callback routine to do the actual output. This allows the output to be directed anywhere required by the user, not just to stdout as in SdsList.

The output routine is called for each line to be output. Note that although close to the output of SdsList, this output of this routine is not exactly the same.

Language

C

Declaration

void ArgSdsList(id, buflen, buffer, func, client_data, status)

Parameters

(">" input, "!" modified, "W" workspace, "<" output)

>idSdsIdTypeIdentifier to the structure.
>buflenunsigned intLength of buffer. If zero, then malloc a buffer of 400 bytes. If lines exceed this length, then they are truncated correctly before calling the output routine.
>bufferchar *A buffer to be used by this routine to print the output into. It is passed directly to the output function. Since the length of each line can be quite long (particularly with arrays) we allow the user to specify how much of a line he is interested in. For example, if outputing to a terminal, you might only specify an 80 byte buffer. If not supplied, we will malloc buflen bytes.
>funcArgListFunctTypeA function to called to output each line. It is passed the client data item, the address of the buffer and a modified status item.

>client_datavoid *Passed directly to func.
!statusStatusType*Modified status.

Support

Tony Farrell, AAO

Version date

17-Apr-97

Click here for the DRAMA home page and here for the AAO home page.

 For more information, contact tony.farrell@mq.edu.au