var.h Source File






Misc >
Help >
FAQ >


Links >



var.h

00001 /* var.h -- Variable Definition
00002 Copyright 2001, 2002 Free Software Foundation, Inc.
00003 Written by Stephane Carrez (stcarrez@worldnet.fr)
00004 
00005 This file is part of GEL.
00006 
00007 GEL is free software; you can redistribute it and/or modify
00008 it under the terms of the GNU General Public License as published by
00009 the Free Software Foundation; either version 2, or (at your option)
00010 any later version.
00011 
00012 GEL is distributed in the hope that it will be useful,
00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00015 GNU General Public License for more details.
00016 
00017 You should have received a copy of the GNU General Public License
00018 along with GEL; see the file COPYING. If not, write to
00019 the Free Software Foundation, 59 Temple Place - Suite 330,
00020 Boston, MA 02111-1307, USA. */
00021 
00022 #ifndef _GEL_VAR_H
00023 #define _GEL_VAR_H
00024 
00025 #include <stddef.h>
00026 
00027 union var_value
00028 {
00029 unsigned char u8;
00030 unsigned short u16;
00031 unsigned long u32;
00032 };
00033 
00034 enum var_type
00035 {
00036 V_UINT8,
00037 V_UINT16,
00038 V_UINT32
00039 };
00040 
00041 enum var_format
00042 {
00043 F_INTEGER,
00044 F_ONOFF
00045 };
00046 
00047 struct var_def
00048 {
00049 const char *title;
00050 enum var_type type : 8;
00051 enum var_format format : 8;
00052 unsigned long min_value;
00053 unsigned long max_value;
00054 unsigned long def_value;
00055 union
00056 {
00057 unsigned char *uint8;
00058 unsigned short *uint16;
00059 unsigned long *uint32;
00060 } u;
00061 };
00062 
00067 extern unsigned long var_value (const struct var_def *var);
00068 
00077 extern void var_format (char *buf, const struct var_def *var,
00078 unsigned long value);
00079 
00090 extern void var_set_integer (const struct var_def *var, unsigned long value);
00091 
00096 extern void var_register (const struct var_def *var);
00097 
00098 extern unsigned var_count;
00099 extern const struct var_def *var_list[];
00100 
00101 #endif

Copyright (C) 1999, 2000, 2001, 2002, 2003 Stéphane Carrez, France
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


AltStyle によって変換されたページ (->オリジナル) /