Provided by: atfs-dev_1.4pl6-14_amd64 bug


       atBindAddRule,   atBindDelRule,   atBindRuleFile,   atBindDisplayErrors,   atBindTestRule,
       atBindShowRules, atBindListRules - version bind rule handling


       #include <atfs.h>
       #include <atfstk.h>

       int  atBindAddRule (char *ruleName, char *ruleBody, char *srcFile, int srcLine);

       int  atBindDelRule (char *ruleName);

       int  atBindRuleFile (char *fileName);

       int  atBindDisplayErrors;

       int  atBindTestRule (char *ruleName);

       int  atBindShowRules (void);

       char**atBindListRules (void);


       The atBind module maintains an internal database storing all known version bind rules.

       The atBindAddRule function stores a new rule in the internal database. It expects the rule
       name,  optionally  including parameter definitions, and the rule body as string arguments.
       Additionally, the filename (srcFile) of the file, where the rule is  read  from,  and  the
       line  within  that  file  (srcLine), may be given. This is used for producing proper error
       messages. atBindAddRule returns -1 on error, 0 otherwise.

       atBindDelRule removes a previously defined rule from the internal database. It  returns  a
       negative return value (-1), when no rule with the given name was not found in the internal

       The atBindRuleFile function scans a file  containing  version  bind  rules  and  adds  all
       contained  rules  to  the  internal database.  It returns the number of version bind rules
       successfully added to the internal database. A zero return  value  may  also  indicate  an

       The switch atBindDisplayErrors may be set TRUE to enable error reporting during parsing of
       version binding rules.  Error  messages  will  be  written  directly  to  standard  error.
       Initially, atBindDisplayErrors is set FALSE.

       AtBindTestRule  reports  whether  ruleName  is  defined as version binding rule or not. It
       returns a non zero (TRUE) value when the name is defined, otherwise FALSE.

       atBindShowRules dumps the internal database to the standard output. Return value is always

       atBindListRules  returns all known bind rule names in a list. The list memory is allocated
       by use of malloc(3). On error, atBindListRules returns a null pointer.


       Upon error, each routine returns a null value, the variable atBindError is set true  (non-
       zero),  and  an  explaining  message  is  copied  to the atBindErrorMsg string buffer. The
       atBindError variable  is  cleared  upon  successful  calls,  the  message  buffer  remains


       SHAPETOOLS  -  list of path names as search space for files containing version bind rules.
       The bind rule files must be named BindRules. Default path is /usr/local/lib/shape.