aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/include/conf_extension.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/include/conf_extension.h')
-rw-r--r--engines/sci/include/conf_extension.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/engines/sci/include/conf_extension.h b/engines/sci/include/conf_extension.h
new file mode 100644
index 0000000000..768e8f28c3
--- /dev/null
+++ b/engines/sci/include/conf_extension.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+ 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 <stdio.h>
+#include <stdlib.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_ */