/* * Copyright 2003-2004, Waldemar Kornewald * Distributed under the terms of the MIT License. */ #ifndef _SETTINGS_TOOLS__H #define _SETTINGS_TOOLS__H #include // TODO: remove this as soon as we get the extended driver_settings API extern driver_settings *dup_driver_settings(const driver_settings *settings); extern void free_driver_settings(driver_settings *settings); extern void free_driver_parameter(driver_parameter *parameter); extern void free_driver_parameter_fields(driver_parameter *parameter); extern driver_settings *new_driver_settings(); extern driver_parameter *new_driver_parameter(const char *name); extern bool copy_driver_parameter(const driver_parameter *from, driver_parameter *to); extern bool set_driver_parameter_name(const char *name, driver_parameter *parameter); extern bool add_driver_parameter_value(const char *value, driver_parameter *to); extern bool add_driver_parameter(driver_parameter *add, driver_settings *to); extern bool equal_driver_settings(const driver_settings *lhs, const driver_settings *rhs); extern bool equal_driver_parameters(const driver_parameter *lhs, const driver_parameter *rhs); extern bool equal_interface_settings(const driver_settings *lhs, const driver_settings *rhs); // this compares only the relevant parts of the interface settings extern ppp_side get_side_string_value(const char *sideString, ppp_side unknownValue); extern bool get_boolean_value(const char *string, bool unknownValue); extern const driver_parameter *get_parameter_with_name(const char *name, const driver_settings *settings); extern const char *get_settings_value(const char *name, const driver_settings *settings); inline bool add_driver_parameter(driver_parameter *add, driver_parameter *to) { if(!to) return false; return add_driver_parameter(add, (driver_settings*) &to->parameter_count); } inline const driver_parameter* get_parameter_with_name(const char *name, const driver_parameter *parameters) { if(!parameters) return NULL; return get_parameter_with_name(name, (driver_settings*) ¶meters->parameter_count); } inline const char* get_parameter_value(const char *name, const driver_parameter *parameters) { if(!parameters) return NULL; return get_settings_value(name, (driver_settings*) ¶meters->parameter_count); } #endif