This is an alpha version of this book.
funcparams ::= (#PCDATA|link|olink|ulink|action|application|classname|methodname| interfacename|exceptionname|ooclass|oointerface|ooexception| command|computeroutput|database|email|envar|errorcode|errorname| errortype|filename|function|guibutton|guiicon|guilabel|guimenu| guimenuitem|guisubmenu|hardware|interface|keycap|keycode| keycombo|keysym|literal|constant|markup|medialabel|menuchoice| mousebutton|option|optional|parameter|prompt|property| replaceable|returnvalue|sgmltag|structfield|structname|symbol| systemitem|token|type|userinput|varname|nonterminal|anchor| remark|subscript|superscript|inlinegraphic|inlinemediaobject| indexterm|beginpage)*
In some programming languages (like C), it is possible for a function to have a pointer to another function as one of its parameters. In the syntax summary for such a function, the FuncParams element provides a wrapper for the function pointer.
For example, the following prototype describes the function sort, which takes two parameters. The first parameter, arr, is an array of integers. The second parameter is a pointer to a function, comp that returns an int. The comp function takes two parameters, both of type int *:
<funcprototype> <funcdef>void <function>sort</function></funcdef> <paramdef>int *<parameter>arr</parameter>[]</paramdef> <paramdef>int <parameter>(* comp)</parameter> <funcparams>int *, int *</funcparams></paramdef> </funcprototype>
Formatted inline. For a complete description of the processing expecations, see FuncSynopsis.
The InterfaceDefinition element will be discarded in DocBook V4.0. It will no longer be available in the content model of this element.
The following elements occur in funcparams: action, anchor, application, beginpage, classname, command, computeroutput, constant, database, email, envar, errorcode, errorname, errortype, exceptionname, filename, function, guibutton, guiicon, guilabel, guimenu, guimenuitem, guisubmenu, hardware, indexterm, inlinegraphic, inlinemediaobject, interface, interfacename, keycap, keycode, keycombo, keysym, link, literal, markup, medialabel, menuchoice, methodname, mousebutton, nonterminal, olink, ooclass, ooexception, oointerface, option, optional, parameter, prompt, property, remark, replaceable, returnvalue, sgmltag, structfield, structname, subscript, superscript, symbol, systemitem, token, type, ulink, userinput, varname.
funcdef, funcprototype, funcsynopsisinfo, function, paramdef, parameter, returnvalue, varargs, void.
<!DOCTYPE funcsynopsis PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> <funcsynopsis> <funcprototype> <funcdef>void <function>qsort</function></funcdef> <paramdef>void *<parameter>dataptr</parameter>[]</paramdef> <paramdef>int <parameter>left</parameter></paramdef> <paramdef>int <parameter>right</parameter></paramdef> <paramdef>int <parameter>(* comp)</parameter> <funcparams>void *, void *</funcparams></paramdef> </funcprototype> </funcsynopsis>
For additional examples, see also funcsynopsis .
Copyright © 1999, 2000, 2001 O'Reilly & Associates, Inc.