FLAMCLE/P-API
Command Line Executor/Parser Application Programming Interface
CLEDEF.h File Reference

Definitions for Command Line Execution. More...

#include "stdio.h"
#include "CLPDEF.h"

Go to the source code of this file.

Data Structures

struct  CleDoc
 CLE Structure for documentation table. More...
 
struct  CleCommand
 CLE structure for command table. More...
 
struct  CleOtherClp
 CLE table structure for other CLP strings. More...
 

Macros

#define CLE_DOCTYP_COVER   1U
 Cover page (level must be 1). More...
 
#define CLE_DOCTYP_CHAPTER   2U
 A chapter (level must > 1 and < 6). More...
 
#define CLE_DOCTYP_PROGRAM   10U
 The main program chapter (like chapter but level must < 5). More...
 
#define CLE_DOCTYP_PGMSYNOPSIS   11U
 The program synopsis. More...
 
#define CLE_DOCTYP_PGMSYNTAX   12U
 The program syntax. More...
 
#define CLE_DOCTYP_PGMHELP   13U
 The program help. More...
 
#define CLE_DOCTYP_COMMANDS   20U
 The commands part. More...
 
#define CLE_DOCTYP_OTHERCLP   21U
 Other CLP strings. More...
 
#define CLE_DOCTYP_BUILTIN   22U
 The built-in function section. More...
 
#define CLE_DOCTYP_LEXEMES   30U
 The appendix which prints the lexemes. More...
 
#define CLE_DOCTYP_GRAMMAR   31U
 The appendix which prints the grammar. More...
 
#define CLE_DOCTYP_VERSION   32U
 The appendix which prints the version (pcVsn must be given). More...
 
#define CLE_DOCTYP_ABOUT   33U
 The appendix which prints the about (pcAbo must be given). More...
 
#define CLE_DOCTYP_PROPREMAIN   41U
 The appendix which prints the remaining parameter documentation. More...
 
#define CLE_DOCTYP_PROPDEFAULTS   42U
 The appendix which prints the default parameter documentation. More...
 
#define CLE_DOCTYP_SPECIALCODES   51U
 The appendix which prints the special condition codes. More...
 
#define CLE_DOCTYP_REASONCODES   52U
 The appendix which prints the reason codes (pfMsg must be provided). More...
 
#define CLE_DOCKYW_PREFACE   "preface"
 Mark level 2 chapter as preface. More...
 
#define CLE_DOCKYW_APPENDIX   "appendix"
 Mark level 2 chapter as appendix. More...
 
#define CLE_DOCKYW_GLOSSARY   "glossary"
 Mark level 2 chapter as glossary. More...
 
#define CLE_DOCKYW_COLOPHON   "colophon"
 Mark level 2 chapter as colophon. More...
 
#define CLE_ANCHOR_BUILTIN_FUNCTIONS   "CLEP.BUILTIN.FUNCTIONS"
 Chapter built-in functions. More...
 
#define CLE_ANCHOR_APPENDIX_ABOUT   "CLEP.APPENDIX.ABOUT"
 Appendix About. More...
 
#define CLE_ANCHOR_APPENDIX_VERSION   "CLEP.APPENDIX.VERSION"
 Appendix Version. More...
 
#define CLE_ANCHOR_APPENDIX_LEXEMES   "CLEP.APPENDIX.LEXEMES"
 Appendix Lexemes. More...
 
#define CLE_ANCHOR_APPENDIX_GRAMMAR   "CLEP.APPENDIX.GRAMMAR"
 Appendix Grammar. More...
 
#define CLE_ANCHOR_APPENDIX_RETURNCODES   "CLEP.APPENDIX.RETURNCODES"
 Appendix Return codes. More...
 
#define CLE_ANCHOR_APPENDIX_REASONCODES   "CLEP.APPENDIX.REASONCODES"
 Appendix Reason codes. More...
 
#define CLE_ANCHOR_APPENDIX_PROPERTIES   "CLEP.APPENDIX.PROPERTIES"
 Appendix Properties. More...
 
#define CLEDOC_OPN(name)   TsCleDoc name[]
 Starts the documentation generation table overview. More...
 
#define CLETAB_DOC(typ, lev, num, kyw, anc, hdl, man, idt)   {(typ),(lev),(num),(kyw),(anc),(hdl),(man),(idt)},
 Starts the documentation generation table. More...
 
#define CLEDOC_CLS   { 0 , 0 , NULL, NULL, NULL, NULL, NULL, NULL}
 Ends a table with constant definitions. More...
 
#define CLECMD_OPN(name)   TsCleCommand name[]
 Starts a table with command definitions. More...
 
#define CLETAB_CMD(kyw, tab, clp, par, oid, ini, map, run, fin, flg, man, hlp)   {(kyw),(tab),(clp),(par),(oid),(ini),(map),(run),(fin),(flg),(man),(hlp)},
 Defines a command with the command line keyword kyw. More...
 
#define CLECMD_CLS   { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0 , NULL, NULL}
 Ends a table with constant definitions. More...
 
#define CLEOTH_OPN(name)   TsCleOtherClp name[]
 Starts a table with other CLP strings. More...
 
#define CLETAB_OTH(rot, kyw, tab, man, hlp, ovl)   {(rot),(kyw),(tab),(man),(hlp),(ovl)},
 Defines a appendix for the object or overlay cmd of the root rot with the headline of hdl for a certain other CLP string.
. More...
 
#define CLEOTH_CLS   { NULL, NULL, NULL, NULL, NULL, 0}
 Ends a table with other CLP strings. More...
 

Typedefs

typedef struct CleDoc TsCleDoc
 CLE Structure for documentation table. More...
 
typedef void *() TfCleOpenPrint(FILE *pfOut, FILE *pfErr, const char *pcPat, const char *pcOwn, const char *pcPgm, const char *pcBld, int *piHdr, int *piAnc, int *piIdt, int *piPat, int *psPs1, int *piPs2, int *piPr3)
 Function 'opnHtmlDoc' of library 'libhtmldoc' called if built-in function HTMLDOC used. More...
 
typedef int() TfCleClosePrint(void *pvHdl)
 Function 'clsHtmlDoc' of library 'libhtmldoc' called if built-in function HTMLDOC used. More...
 
typedef int() TfIni(void *pvHdl, FILE *pfOut, FILE *pfTrc, void *pvGbl, const char *pcOwn, const char *pcPgm, void *pvClp)
 Type definition for initialization FLAMCLE command structure. More...
 
typedef int() TfMap(void *pvHdl, FILE *pfOut, FILE *pfTrc, void *pvGbl, int *piOid, void *pvClp, void *pvPar)
 Type definition for mapping parsed values from the FLAMCLP structure. More...
 
typedef int() TfRun(void *pvHdl, FILE *pfOut, FILE *pfTrc, void *pvGbl, const char *pcOwn, const char *pcPgm, const char *pcVsn, const char *pcAbo, const char *pcLic, const char *pcFkt, const char *pcCmd, const char *pcLst, const void *pvPar, int *piWrn, int *piScc)
 Type definition for CLE run function. More...
 
typedef int() TfFin(FILE *pfOut, FILE *pfTrc, void *pvGbl, void *pvPar)
 Type definition for the CLE fin function. More...
 
typedef const char *() TfMsg(const int siRsn)
 Type definition for the CLE message function. More...
 
typedef struct CleCommand TsCleCommand
 CLE structure for command table. More...
 
typedef struct CleOtherClp TsCleOtherClp
 CLE table structure for other CLP strings. More...
 

Detailed Description

Definitions for Command Line Execution.

Author
limes datentechnik gmbh
Date
27.12.2019

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

If you need professional services or support for this library please contact suppo.nosp@m.rt@f.nosp@m.lam.d.nosp@m.e.