rockbox/apps/plugins/lib/configfile.h
Robert Kukla fd3fe45bc1 FS#7487 - mpegplayer - video start time seek with resume
by John S. Gwynne & Brian J. Morey
This should stop the patch from breaking again and give them opportunity to improve it further.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15052 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 20:42:20 +00:00

78 lines
2.8 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2002 Linus Nielsen Feltzing
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef CONFIGFILE_H
#define CONFIGFILE_H
#define TYPE_INT 1
#define TYPE_ENUM 2
#define TYPE_STRING 3
struct configdata
{
int type; /* See TYPE_ macros above */
int min; /* Min value for integers, should be 0 for enums */
int max; /* Max value for enums and integers,
buffer size for strings */
int *val; /* Pointer to integer/enum value,
NULL if the item is a string */
char *name; /* Pointer to the name of the item */
char **values; /* List of strings for enums, NULL if not enum */
char *string; /* Pointer to a string buffer if the item is a string,
NULL otherwise */
};
void configfile_init(struct plugin_api* newrb);
/* configfile_save - Given configdata entries this function will
create a config file with these entries, destroying any
previous config file of the same name */
int configfile_save(const char *filename, struct configdata *cfg,
int num_items, int version);
int configfile_load(const char *filename, struct configdata *cfg,
int num_items, int min_version);
/* configfile_get_value - Given a key name, this function will
return the integer value for that key.
Input:
filename = config file filename
name = (name/value) pair name entry
Return:
value if (name/value) pair is found
-1 if entry is not found
*/
int configfile_get_value(const char* filename, const char* name);
/* configure_update_entry - Given a key name and integer value
this function will update the entry if found, or add it if
not found.
Input:
filename = config file filename
name = (name/value) pair name entry
val = new value for (name/value) pair
Return:
1 if the (name/value) pair was found and updated with the new value
0 if the (name/value) pair was added as a new entry
-1 if error
*/
int configfile_update_entry(const char* filename, const char* name, int val);
#endif