/home/brq/plautrba/devel/src/openscap.git/openscap-0.8.2/src/OVAL/probes/independent/sql57.c File Reference

sql57 probe More...

#include <seap.h>
#include <probe-api.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <common/assume.h>
#include <common/debug_priv.h>
#include <common/bfind.h>
#include <time.h>
#include <errno.h>
#include <opendbx/api.h>

Data Structures

struct  dbEngineMap_t
struct  dbURIInfo_t

Defines

#define ENGINE_MAP_COUNT   (sizeof engine_map / sizeof (dbEngineMap_t))
#define skipspace(s)   while (isspace(*s)) ++s;
#define matchitem1(tok, first, rest, dst)
#define matchitem2(tok, first, rest1, dst1, rest2, dst2)
#define get_string(dst, obj, ent_name)

Functions

void * probe_init (void)
void probe_fini (void *arg)
int probe_main (probe_ctx *ctx, void *arg)

Variables

dbEngineMap_t engine_map []

Detailed Description

sql57 probe

Author:
"Daniel Kopecek" <dkopecek@redhat.com>

Define Documentation

#define get_string ( dst,
obj,
ent_name   ) 
Value:
do {                                                            \
                SEXP_t *__sval;                                         \
                                                                        \
                __sval = probe_obj_getentval (obj, ent_name, 1);        \
                                                                        \
                if (__sval == NULL) {                                   \
                        dE("Missing entity or value: obj=%p, ent=%s\n", obj, #ent_name); \
                        err = PROBE_ENOENT;                             \
                        goto __exit;                                    \
                }                                                       \
                                                                        \
                (dst) = SEXP_string_cstr (__sval);                      \
                                                                        \
                if ((dst) == NULL) {                                    \
                        SEXP_free(__sval);                              \
                        err = PROBE_EINVAL;                             \
                        goto __exit;                                    \
                }                                                       \
                                                                        \
                SEXP_free(__sval);                                      \
        } while (0)
#define matchitem1 ( tok,
first,
rest,
dst   ) 
Value:
case first:                                             \
                if (strncasecmp((rest), ++(tok), strlen(rest)) == 0) {  \
                        tok += strlen(rest);                    \
                        skipspace(tok);                         \
                        if (*(tok) != '=') goto __fail;         \
                        else (dst) = strdup((tok) + 1);         \
                }                                               \
        while(0)
#define matchitem2 ( tok,
first,
rest1,
dst1,
rest2,
dst2   ) 
Value:
case first:                                                     \
                if (strcasecmp((rest1), (tok)+1) == 0) {                \
                        tok += 1+strlen(rest1);                         \
                        skipspace(tok);                                 \
                        if (*(tok) != '=') goto __fail;                 \
                        else (dst1) = strdup((tok) + 1);                \
                }                                                       \
                else if (strcasecmp((rest2), (tok)+1) == 0) {           \
                        tok += 1+strlen(rest2);                         \
                        skipspace(tok);                                 \
                        if (*(tok) != '=') goto __fail;                 \
                        else (dst2) = strdup((tok) + 1);                \
                }                                                       \
                while(0)

Variable Documentation

dbEngineMap_t engine_map[]
Initial value:
 {
        { "access",    NULL       },
        { "db2",       NULL       },
        { "cache",     NULL       },
        { "firebird",  "firebird" },
        { "firstsql",  NULL       },
        { "foxpro",    NULL       },
        { "informix",  NULL       },
        { "ingres",    NULL       },
        { "interbase", NULL       },
        { "lightbase", NULL       },
        { "maxdb",     NULL       },
        { "monetdb",   NULL       },
        { "mimer",     NULL       },
        { "mssql",     "mssql"    }, 
        { "mysql",     "mysql"    }, 
        { "oracle",    "oracle"   },
        { "paradox",   NULL       },
        { "pervasive", NULL       },
        { "postgre",   "pgsql"    },
        { "sqlbase",   NULL       },
        { "sqlite",    "sqlite"   },
        { "sqlite3",   "sqlite3"  }, 
        { "sqlserver", NULL       },
        { "sybase",    "sybase"   }
}

Generated on 30 Mar 2012 for Open SCAP Library by  doxygen 1.6.1