aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/include/conf_extension.h
blob: 68c74fa2daa20bf5b796bfc34f7de4090a18a5a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/***************************************************************************
  Copyright (C) 2008 Christoph Reichenbach


 This program may be modified and copied freely according to the terms of
 the GNU general public license (GPL), as long as the above copyright
 notice and the licensing information contained herein are preserved.

 Please refer to www.gnu.org for licensing details.

 This work is provided AS IS, without warranty of any kind, expressed or
 implied, including but not limited to the warranties of merchantability,
 noninfringement, and fitness for a specific purpose. The author will not
 be held liable for any damage caused by this work or derivatives of it.

 By using this source code, you agree to the licensing terms as stated
 above.


 Please contact the maintainer for bug reports or inquiries.

 Current Maintainer:

    Christoph Reichenbach (CR) <jameson@linuxgames.com>

***************************************************************************/

/* Config extensions handle special-purpose configuration options such as the
** graphics operations.  To add new special-purpose operations, modify this file,
** the lexer, and conf_extensions.c.
*/

#ifndef CONF_EXTENSION_H_
#define CONF_EXTENSION_H_

#include "common/scummsys.h"

#define CONF_EXT_TYPE_INVALID	-1
#define CONF_EXT_TYPE_GFX	0

typedef struct {
	int type;	/* CONF_EXT_TYPE_* */
	void *data;
} conf_extension_t;



int
conf_extension_supercedes(conf_extension_t *a, conf_extension_t *b);
/* Determines whether conf extension b shadows extension a
** Parameters: (conf_extension_t *) a: The ``earlier'' extension
**             (conf_extension_t *) b: The ``later'' extension
** Returns   : nonzero iff shadowing does occur
*/

void
conf_extension_print(FILE *file, conf_extension_t *a);
/* Prints out a config extension
** Parameters: (FILE *) file: The file to print to
**             (conf_extension_t *) a: The extension to print out
*/

void
conf_extension_free(conf_extension_t *a);
/* Frees up all data associated with a conf extension
** Parameters: (conf_extension_t *) a: The extension to free
** This also frees up a itself.
*/

#endif /* !defined CONF_EXTENSION_H_ */