pfilter
if (chan->pfilter)
free(chan->pfilter);
chan->pfilter = pf;
if (chan->pfilter[i].start <= proto
&& chan->pfilter[i].end >=proto)
typedef struct pfilter pfilter_t;
pfilter_t * pfilter;
free(chan->pfilter);
char pfilter[LINE_MAX];
(void)strlcpy(pfilter, "*", sizeof(pfilter));
(void)strlcpy(pfilter, "*", sizeof(pfilter));
(void)strlcpy(pfilter, p, sizeof(pfilter));
cfline(nvl_conf, cline, prog, host, pfilter);
struct prop_filter pfilter = { };
pfilter.prop_type = FILT_PROP_MSG;
pfilter.prop_type = FILT_PROP_HOSTNAME;
pfilter.prop_type = FILT_PROP_HOSTNAME;
pfilter.prop_type = FILT_PROP_PROGNAME;
pfilter.cmp_flags |= FILT_FLAG_EXCLUDE;
pfilter.cmp_flags |= FILT_FLAG_ICASE;
pfilter.cmp_type = FILT_CMP_CONTAINS;
pfilter.cmp_type = FILT_CMP_EQUAL;
pfilter.cmp_type = FILT_CMP_STARTS;
pfilter.cmp_type = FILT_CMP_REGEX;
pfilter.cmp_type = FILT_CMP_REGEX;
pfilter.cmp_flags |= FILT_FLAG_EXTENDED;
pfilter.pflt_strval = filter;
nvl_pfilter = prop_filter_to_nvlist(&pfilter);
const char *pfilter)
host, pfilter);
if (pfilter && *pfilter != '*') {
nvl_pfilter = prop_filter_compile(pfilter);
nvlist_t *prop_filter_to_nvlist(const struct prop_filter *pfilter);
prop_filter_to_nvlist(const struct prop_filter *pfilter)
nvlist_add_number(nvl_prop_filter, "prop_type", pfilter->prop_type);
nvlist_add_number(nvl_prop_filter, "cmp_type", pfilter->cmp_type);
nvlist_add_number(nvl_prop_filter, "cmp_flags", pfilter->cmp_flags);
nvlist_add_string(nvl_prop_filter, "pflt_strval", pfilter->pflt_strval);
struct prop_filter *pfilter;
pfilter = calloc(1, sizeof(*pfilter));
if (pfilter == NULL)
pfilter->prop_type = nvlist_get_number(nvl_prop_filter, "prop_type");
pfilter->cmp_type = nvlist_get_number(nvl_prop_filter, "cmp_type");
pfilter->cmp_flags = nvlist_get_number(nvl_prop_filter, "cmp_flags");
pfilter->pflt_strval = strdup(nvlist_get_string(nvl_prop_filter,
if (pfilter->cmp_type == FILT_CMP_REGEX) {
pfilter->pflt_re = calloc(1, sizeof(*pfilter->pflt_re));
if (pfilter->pflt_re == NULL)
if ((pfilter->cmp_flags & FILT_FLAG_EXTENDED) != 0)
if ((pfilter->cmp_flags & FILT_FLAG_ICASE) != 0)
if (regcomp(pfilter->pflt_re, pfilter->pflt_strval,
return (pfilter);