/*<AUTO> **=========================================================================== ** ** FILE: tclMyFeet.c ** ** This file contains routines that support the definition of TCL ** verbs that go right to my sole. **</AUTO> ** ** NOTE: ** Notice that since we have the </AUTO> tag above, all subsequent ** lines within this comment will not be included in the output. ** ** ENVIRONMENT: ** ANSI C. ** ** AUTHOR: ** E. Normus Foot */ #define NUM_TOES 10 #define NUM_FEET 2 /*<AUTO EXTRACT> *---------------------------------------------------------------------------- * * ROUTINE: odorEater * * DESCRIPTION: * Routine to determine the effectiveness of the persperation * absorbtion system. * * RETURN VALUES: * SMELLS_LIKE_FISH Absorbtion error occurred. * SMELLS_LIKE_ROSE Absorbtion successful. * SMELLS_LIKE_TEEN_SPIRIT Nirvana. *</AUTO> * * NOTE: * Again, we have used the </AUTO> tag, so this note will not * be included in the output. But, since we've specified the * EXTRACT option, the routine declaration (which immediately * follows the end of this comment) will be automatically extracted. * For routines (with EXTRACT), everything between the end comment * and the open brace will be extracted. */ static int odorEater ( int footNum, /* IN : Number of the foot to check */ int *odorLevel /* OUT: Absorbtion level percentage */ ) { int abc; int def; ... /* Notice how the following section of code is also included in the routine * description by using the HTML tag */ /*<HTML><PRE>INTERNAL STRUCTURE:<MENU>*/ typedef struct shoe { int size; int type; int color; } SHOE; /*</MENU></PRE></HTML>*/ ... } /* ***************************************************************************** ** ** ROUTINE: tclMyFootRoutine ** **<AUTO EXTRACT> ** ** TCL VERB: tclMyFoot ** ** DESCRIPTION: ** TCL verb to evaluate the foots response to external stimulus. ** **</AUTO> ** ** NOTE: ** In this case we are documenting the actual "C"-based TCL verb and ** not the underpinning "C" routine. Since only the text between ** the AUTO tags is extracted, the ROUTINE: line and this note ** are not included. ** ** Also note that since we've specified the EXTRACT option, the ** verb syntax is extracted. For TCL verbs (with EXTRACT), the ** declarations between the end comment and the start of the ** routine are scanned for *use and *help (or *hlp) strings or an ** ftclArgvInfo definition. In this example the tclLeft_use and ** tclLeft_help strings are extracted. */ static char *tclFoot_use = "tclFoot <name>"; static char *tclFoot_help = "Evaluate foots response to external stimulus "; static int tclMyFootRoutine ( ... ) { ... } /* ***************************************************************************** ** ** ROUTINE: tclMyToesRoutine ** **<AUTO EXTRACT> ** ** TCL VERB: tclMyToes ** ** DESCRIPTION: ** TCL verb to evaluate the response of individual toes (on any ** given foot) to external stimulus. ** **</AUTO> ** ** NOTE: ** Same as previous NOTE:, but in this case we have an ftclArgvInfo ** table. */ static ftclArgvInfo tclToesTable[] = { {"<foot>", FTCL_ARGV_STRING, NULL, NULL, "Foot to test"}, {"<toe>", FTCL_ARGV_INT, NULL, NULL, "Toe number"}, {"-t", FTCL_ARGV_INT, NULL, NULL, "Duration in seconds"}, {NULL, FTCL_ARGV_END, NULL, NULL, NULL} }; static int tclMyToesRoutine ( ... ) { ... }