next up previous contents index
Next: Header LALDatatypes.h Up: Header LALRCSID.h Previous: Header LALRCSID.h   Contents   Index

Synopsis

#include <lal/LALRCSID.h>

This header defines a pair of macros RCSID() and NRCSID(), which are used to assign Revision Control System (RCS) ID strings to a given source file. Whenever a file is added or changed in the central LAL distribution, the RCS software searches for symbols of the form $Id$ or $Id: ... $, and expands them into strings that give information about the file's name, version number, when it was last modified and by whom. For an example of an RCS ID string, look at the $Id: ... $ line at the bottom of this page.

The macro RCSID() is called as follows:




RCSID($Id$);


This assigns the RCS ID string to a variable static const char *rcsid in a given module or header. This variable will be loaded onto the stack whenever code from that module or header is used. This can be used as a diagnostic tool by debuggers.

The macro NRCSID() is called in the following manner:




NRCSID(MYFILEC,$Id$);


This assigns the RCS ID string to the variable MYFILEC, as above. Standard LAL naming conventions are that the variable name should be the file name converted to capital letters, with file extensions but without periods. Thus the module MyFile.c should store its ID in the variable MYFILEC, while the header MyHeader.h should store it in MYHEADERH.

LAL convention dictates that all modules and header files must call NRCSID() using the naming convention above. The call must be made after all subsidiary header files have been included (notably this header file, or LALStdlib.h which includes this header file), but before any actual functions or function prototypes. In modules containing LAL functions, the RCS ID string will typically be assigned to the LALStatus structure for those functions; see the documentation for the header LALStatusMacros.h.

This header is included automatically by all standard LAL headers, including LALDatatypes.h, LALStatusMacros.h, and LALStdlib.h. Thus if you have included any of the standard LAL headers, you will have gotten LALRCSID.h as well, and don't need to #include it separately. However, including it separately is not an error, as this and all LAL headers are required to have double-include protection.



Author: Unknown?  Provided by Stuart Anderson
$Id: LALRCSID.h,v 1.5 2000/11/09 23:37:20 jolien Exp $


next up previous contents index
Next: Header LALDatatypes.h Up: Header LALRCSID.h Previous: Header LALRCSID.h   Contents   Index
LAL test account 2003-10-23