25#include "oscap_platforms.h"
28#if defined(OS_SOLARIS) || defined(OS_AIX)
34#include "common/oscap_pcre.h"
36#define ENT_GET_AREF(ent, dst, attr_name, mandatory) \
38 if (((dst) = probe_ent_getattrval(ent, attr_name)) == NULL) { \
40 _F("Attribute `%s' is missing!\n", attr_name); \
46#define ENT_GET_STRVAL(ent, dst, dstlen, zerolen_exp) \
50 if ((___r = probe_ent_getval(ent)) == NULL) { \
51 dW("entity has no value!"); \
54 if (!SEXP_stringp(___r)) { \
55 _F("invalid type\n"); \
59 if (SEXP_string_length(___r) == 0) { \
63 SEXP_string_cstr_r(___r, dst, dstlen); \
71 FTS *ofts_match_path_fts;
72 FTSENT *ofts_match_path_fts_ent;
74 FTS *ofts_recurse_path_fts;
75 int ofts_recurse_path_fts_opts;
76 int ofts_recurse_path_curdepth;
77 char *ofts_recurse_path_pthcpy;
78 char *ofts_recurse_path_curpth;
79 dev_t ofts_recurse_path_devid;
81 oscap_pcre_t *ofts_path_regex;
82 uint32_t ofts_path_op;
85 SEXP_t *ofts_sfilename;
86 SEXP_t *ofts_sfilepath;
99#define OVAL_RECURSE_DIRECTION_NONE 0
100#define OVAL_RECURSE_DIRECTION_DOWN 1
101#define OVAL_RECURSE_DIRECTION_UP 2
103#define OVAL_RECURSE_FILES 0x01
104#define OVAL_RECURSE_DIRS 0x02
105#define OVAL_RECURSE_SYMLINKS 0x04
107#define OVAL_RECURSE_SYMLINKS_AND_DIRS (OVAL_RECURSE_SYMLINKS|OVAL_RECURSE_DIRS)
108#define OVAL_RECURSE_FILES_AND_DIRS (OVAL_RECURSE_FILES|OVAL_RECURSE_SYMLINKS)
110#define OVAL_RECURSE_FS_LOCAL 0
111#define OVAL_RECURSE_FS_DEFINED 1
112#define OVAL_RECURSE_FS_ALL 2
119 unsigned int fts_info;
125OVAL_FTS *oval_fts_open_prefixed(
const char *prefix, SEXP_t *path, SEXP_t *filename, SEXP_t *filepath, SEXP_t *behaviors, SEXP_t* result);
126OVAL_FTS *oval_fts_open(SEXP_t *path, SEXP_t *filename, SEXP_t *filepath, SEXP_t *behaviors, SEXP_t* result);
Definition oval_fts.h:114
Filesystem device structure.
Definition fsdev.h:45