These are the comment blocks used in Gnome source files to document functions (and macros if you want). /** * function_name: * @par1: description of parameter 1. These can extend over more than * one line. * @par2: description of parameter 2 * * The function description goes here. You can use @par1 to refer to parameters * so that they are highlighted in the output. You can also use %constant * for constants, function_name2() for functions and #GtkWidget for links to * other declarations (which may be documented elsewhere). * * Returns: an integer. */ The block starts with '/**'. Each line starts with ' * '. The second line is the function name, optionally followed by a ':'. Following the function name are the parameters, e.g. '@par1:' above. A blank line MUST be used to separate parameter descriptions from the main description (otherwise it is assumed to be a continuation of the parameter description.) After the main description is a 'Returns:' line to describe the returned value of the function (if it is not void). Text inside the descriptions can use these special characters (they will be expanded into appropriate DocBook tags): @name a parameter. %name a constant. name() reference to a function, or a macro which works like a function (this will be turned into a hypertext link if the function is documented anywhere). #name reference to any other type of declaration, e.g. a struct, enum, union, or macro (this will also be turned into a link if possible). To avoid problems, the characters '<', '>' and '&' in the descriptions are converted into the SGML entities < > and &. This means that you can't use DocBook SGML tags.