Blame openhpid/conf.h

Packit db01ca
/*      -*- linux-c -*-
Packit db01ca
 *
Packit db01ca
 * (C) Copyright IBM Corp. 2003-2006
Packit db01ca
 *
Packit db01ca
 * This program is distributed in the hope that it will be useful,
Packit db01ca
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit db01ca
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  This
Packit db01ca
 * file and program are licensed under a BSD style license.  See
Packit db01ca
 * the Copying file included with the OpenHPI distribution for
Packit db01ca
 * full licensing terms.
Packit db01ca
 *
Packit db01ca
 * Authors:
Packit db01ca
 *     Sean Dague <http://dague.net/sean>
Packit db01ca
 *     Renier Morales <renier@openhpi.org>
Packit db01ca
 *     Bryan Sutula <sutula@users.sourceforge.net>
Packit db01ca
 */
Packit db01ca
Packit db01ca
#ifndef __OH_CONFIG_H
Packit db01ca
#define __OH_CONFIG_H
Packit db01ca
Packit db01ca
#include <glib.h>
Packit db01ca
#include <SaHpi.h>
Packit db01ca
#include <oh_utils.h>
Packit db01ca
Packit db01ca
#ifdef __cplusplus
Packit db01ca
extern "C" {
Packit db01ca
#endif
Packit db01ca
Packit db01ca
struct oh_parsed_config {
Packit db01ca
        GSList *handler_configs;
Packit db01ca
        guint handlers_defined;
Packit db01ca
        guint handlers_loaded;
Packit db01ca
};
Packit db01ca
Packit db01ca
typedef enum {
Packit db01ca
        OPENHPI_ON_EP = 1,
Packit db01ca
        OPENHPI_LOG_ON_SEV,
Packit db01ca
        OPENHPI_EVT_QUEUE_LIMIT,
Packit db01ca
        OPENHPI_DEL_SIZE_LIMIT,
Packit db01ca
        OPENHPI_DEL_SAVE,
Packit db01ca
        OPENHPI_DAT_SIZE_LIMIT,
Packit db01ca
        OPENHPI_DAT_USER_LIMIT,
Packit db01ca
	OPENHPI_DAT_SAVE,
Packit db01ca
        OPENHPI_PATH,
Packit db01ca
        OPENHPI_VARPATH,
Packit db01ca
        OPENHPI_CONF, 
Packit db01ca
	OPENHPI_UNCONFIGURED,
Packit db01ca
        OPENHPI_AUTOINSERT_TIMEOUT,
Packit db01ca
        OPENHPI_AUTOINSERT_TIMEOUT_READONLY
Packit db01ca
} oh_global_param_type;
Packit db01ca
Packit db01ca
typedef union {
Packit db01ca
        SaHpiEntityPathT on_ep;
Packit db01ca
        SaHpiSeverityT log_on_sev;
Packit db01ca
        SaHpiUint32T evt_queue_limit;
Packit db01ca
        SaHpiUint32T del_size_limit;
Packit db01ca
        SaHpiBoolT del_save;
Packit db01ca
        SaHpiUint32T dat_size_limit;
Packit db01ca
        SaHpiUint32T dat_user_limit;
Packit db01ca
	SaHpiBoolT dat_save;
Packit db01ca
        char path[OH_MAX_TEXT_BUFFER_LENGTH];
Packit db01ca
        char varpath[OH_MAX_TEXT_BUFFER_LENGTH];
Packit db01ca
        char conf[OH_MAX_TEXT_BUFFER_LENGTH];
Packit db01ca
	SaHpiBoolT unconfigured;
Packit db01ca
        SaHpiTimeoutT ai_timeout;
Packit db01ca
        SaHpiBoolT ai_timeout_readonly;
Packit db01ca
} oh_global_param_union;
Packit db01ca
Packit db01ca
struct oh_global_param {
Packit db01ca
        oh_global_param_type type;
Packit db01ca
        oh_global_param_union u;
Packit db01ca
};
Packit db01ca
Packit db01ca
/* Plugin configuration information prototypes */
Packit db01ca
int oh_load_config(char *filename, struct oh_parsed_config *config);
Packit db01ca
SaErrorT oh_process_config(struct oh_parsed_config *config);
Packit db01ca
void oh_clean_config(struct oh_parsed_config *config);
Packit db01ca
Packit db01ca
/* For handling global parameters */
Packit db01ca
int oh_get_global_param(struct oh_global_param *param);
Packit db01ca
int oh_get_global_param2(oh_global_param_type type, struct oh_global_param *param);
Packit db01ca
int oh_set_global_param(const struct oh_global_param *param);
Packit db01ca
Packit db01ca
#ifdef __cplusplus
Packit db01ca
}
Packit db01ca
#endif
Packit db01ca
Packit db01ca
#endif/*__OH_CONFIG_H*/