/* $Id: pref.h,v 1.20 2011/06/28 00:13:48 sbajic Exp $ */
/*
DSPAM
COPYRIGHT (C) 2002-2012 DSPAM PROJECT
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
#ifndef _PREF_H
# define _PREF_H
#include
#ifndef _WIN32
#include
#endif
#ifdef HAVE_CONFIG_H
#include
#endif
#include "config_shared.h"
#define PREF_MAX 32
/* a single preference attribute */
typedef struct _ds_agent_attribute {
char *attribute;
char *value;
} *agent_attrib_t;
typedef agent_attrib_t *agent_pref_t;
/* preference utilities */
const char * _ds_pref_val (agent_pref_t PTX, const char *attrib);
int _ds_pref_free (agent_pref_t PTX);
agent_pref_t _ds_pref_aggregate (agent_pref_t, agent_pref_t);
agent_attrib_t _ds_pref_new (const char *attribute, const char *value);
agent_pref_t _ds_ff_pref_load(
config_t config,
const char *user,
const char *home,
void *ignore);
int _ds_ff_pref_set(
config_t config,
const char *user,
const char *home,
const char *preference,
const char *value,
void *ignore);
int _ds_ff_pref_del(
config_t config,
const char *user,
const char *home,
const char *preference,
void *ignore);
FILE *_ds_ff_pref_prepare_file(
const char *filename,
const char *omission,
int *nlines);
int _ds_ff_pref_commit (
const char *filename,
FILE *out_file);
#endif /* _PREF_H */