source: set.h @ d3a672c

Last change on this file since d3a672c was fef6116, checked in by Wilmer van der Gaast <wilmer@…>, at 2006-07-01T19:17:42Z

Fixed check in set_eval_account() and merging from main (better NAMES replies).

  • Property mode set to 100644
File size: 2.2 KB
Line 
1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2006 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
7/* Some stuff to register, handle and save user preferences             */
8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26typedef struct set
27{
28        void *data;
29       
30        char *key;
31        char *value;
32        char *def;      /* Default */
33       
34        int flags;
35       
36        /* Eval: Returns NULL if the value is incorrect or exactly the
37           passed value variable. When returning a corrected value,
38           set_setstr() should be able to free() the returned string! */
39        char *(*eval) ( struct set *set, char *value );
40        struct set *next;
41} set_t;
42
43set_t *set_add( set_t **head, char *key, char *def, void *eval, void *data );
44set_t *set_find( set_t **head, char *key );
45G_MODULE_EXPORT char *set_getstr( set_t **head, char *key );
46G_MODULE_EXPORT int set_getint( set_t **head, char *key );
47G_MODULE_EXPORT int set_getbool( set_t **head, char *key );
48int set_setstr( set_t **head, char *key, char *value );
49int set_setint( set_t **head, char *key, int value );
50void set_del( set_t **head, char *key );
51
52char *set_eval_int( set_t *set, char *value );
53char *set_eval_bool( set_t *set, char *value );
54
55char *set_eval_to_char( set_t *set, char *value );
56char *set_eval_ops( set_t *set, char *value );
57char *set_eval_charset( set_t *set, char *value );
Note: See TracBrowser for help on using the repository browser.