From 8f1e0435cca1d97caba2da1e306432ace45d0bbd Mon Sep 17 00:00:00 2001 From: guez Date: Tue, 8 Apr 2008 13:43:01 +0000 Subject: Version 1.1 de xinput-ivy, auteur Philippe Ribet --- xinput_ivy.h | 3249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3249 insertions(+) create mode 100644 xinput_ivy.h (limited to 'xinput_ivy.h') diff --git a/xinput_ivy.h b/xinput_ivy.h new file mode 100644 index 0000000..c0d71a5 --- /dev/null +++ b/xinput_ivy.h @@ -0,0 +1,3249 @@ +#ifdef __cplusplus +extern "C" { +#endif +/* +ANSI C code generated by SmartEiffel The GNU Eiffel Compiler, Eiffel tools and libraries +Release 2.4 (??? September ??th 2007) [????] +Copyright (C), 1994-2002 - INRIA - LORIA - ESIAL UHP Nancy 1 - FRANCE +Copyright (C), 2003-2005 - INRIA - LORIA - IUT Charlemagne Nancy 2 - FRANCE +D.COLNET, P.RIBET, C.ADRIAN, V.CROIZIER F.MERIZEN - SmartEiffel@loria.fr +http://SmartEiffel.loria.fr +C Compiler options used: -pipe -O3 -fomit-frame-pointer +*/ + +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +/* + This file (SmartEiffel/sys/runtime/base.h) contains all basic Eiffel + type definitions. + This file is automatically included in the header for all modes of + compilation: -boost, -no_check, -require_check, -ensure_check, ... + This file is also included in the header of any cecil file (when the + -cecil option is used). + This file is also included in the header file of C++ wrappers (when + using the external "C++" clause). +*/ + +#ifndef _BASE_H +#define _BASE_H + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) /* VC8+ */ +# ifndef _CRT_SECURE_NO_DEPRECATE +# define _CRT_SECURE_NO_DEPRECATE +# endif +# ifndef _CRT_NONSTDC_NO_DEPRECATE +# define _CRT_NONSTDC_NO_DEPRECATE +# endif +#endif /* VC8+ */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if defined __USE_POSIX || defined __unix__ || defined _POSIX_C_SOURCE +# include +#endif +#if !defined(WIN32) && \ + (defined(WINVER) || defined(_WIN32_WINNT) || defined(_WIN32) || \ + defined(__WIN32__) || defined(__TOS_WIN__) || defined(_MSC_VER)) +# define WIN32 1 +#endif +#ifdef WIN32 +# include +#else +# ifndef O_RDONLY +# include +# endif +# ifndef O_RDONLY +# define O_RDONLY 0000 +# endif +#endif + +#if defined(_MSC_VER) && (_MSC_VER < 1600) /* MSVC older than v10 */ +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed int int32_t; +typedef signed __int64 int64_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +typedef unsigned __int64 uint64_t; +# define PRId8 "d" +# define PRId16 "d" +# define PRId32 "d" +# define PRId64 "I64d" +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# define INT64_C(c) c ## i64 +#elif defined(__WATCOMC__) && (__WATCOMC__ <= 1220) /* WATCOM 12.2 or lower */ +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed long int int32_t; +typedef signed __int64 int64_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long int uint32_t; +typedef unsigned __int64 uint64_t; +# define PRId8 "d" +# define PRId16 "d" +# define PRId32 "d" +# define PRId64 "Ld" +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c ## L +# define INT64_C(c) c ## i64 +#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x600) /* Borland before 6.0 */ +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed long int int32_t; +typedef signed __int64 int64_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long int uint32_t; +typedef unsigned __int64 uint64_t; +# define PRId8 "d" +# define PRId16 "d" +# define PRId32 "ld" +# define PRId64 "I64Ld" +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c ## L +# define INT64_C(c) c ## i64 +#elif defined(__FreeBSD__) && (__FreeBSD__ < 5) /* FreeBSD before 5.0 */ && !defined (_SYS_INTTYPES_H_) +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed long int int32_t; +typedef signed long long int int64_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long int uint32_t; +typedef unsigned long long int uint64_t; +#elif defined(__CYGWIN__) && defined(__BIT_TYPES_DEFINED__) /* Cygwin defines intxx_t in sys/types.h instead of inttypes.h */ +# include +# if defined(CYGWIN_VERSION_DLL_MAJOR) && (CYGWIN_VERSION_DLL_MAJOR<1005) +typedef unsigned char uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# endif +#elif defined(SASC) +# error("Too old SAS/C compiler, sorry."); +#elif defined(__SASC__) +# if (__SASC__ < 750 ) /* SAS/C before 7.50 */ +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed long int int32_t; +typedef signed long long int int64_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long int uint32_t; +typedef unsigned long long int uint64_t; +# endif +#else +# include +# if !defined(INT8_MAX) && defined(INT16_MAX) +/* int8_t is not mandatory */ +typedef int_least8_t int8_t; +# endif +#endif + +#if !defined(PRId16) +# define PRId8 "d" +# define PRId16 "d" +# define PRId32 "ld" +# define PRId64 "lld" +#elif !defined(PRId8) +# define PRId8 "d" +#endif +#if !defined(INT16_C) +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c ## L +# define INT64_C(c) c ## LL +#elif !defined(INT8_C) +# define INT8_C(c) c +#endif +#if !defined(INT16_MIN) +# define INT8_MIN (-INT8_C(127)-1) +# define INT8_MAX (INT8_C(127)) +# define INT16_MIN (-INT16_C(32767)-1) +# define INT16_MAX (INT16_C(32767)) +# define INT32_MIN (-INT32_C(2147483647)-1) +# define INT32_MAX (INT32_C(2147483647)) +# define INT64_MIN (-INT64_C(9223372036854775807)-1) +# define INT64_MAX (INT64_C(9223372036854775807)) +#elif !defined(INT8_MIN) +# define INT8_MIN (-INT8_C(127)-1) +#endif + + +/* + Endian stuff +*/ +#if defined(BSD) && (BSD >= 199103) +# include +#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) +/* bi-endian processor, current mode should be find in machine/endian.h file */ +# include +#elif defined(linux) +# include +#endif + + + +#if !defined(BYTE_ORDER) && defined(__BYTE_ORDER) +# define BYTE_ORDER __BYTE_ORDER +#endif + +#if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN) +# define LITTLE_ENDIAN __LITTLE_ENDIAN +#endif + +#if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN) +# define BIG_ENDIAN __BIG_ENDIAN +#endif + +#if !defined(LITTLE_ENDIAN) +# define LITTLE_ENDIAN 1234 /* LSB first (vax, pc) */ +#endif +#if !defined(BIG_ENDIAN) +# define BIG_ENDIAN 4321 /* MSB first (IBM, net) */ +#endif +#if !defined(PDP_ENDIAN) +# define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ +#endif + +#if !defined(BYTE_ORDER) && defined(BIT_ZERO_ON_RIGHT) +# define BYTE_ORDER LITTLE_ENDIAN +#elif !defined(BYTE_ORDER) && defined(BIT_ZERO_ON_LEFT) +# define BYTE_ORDER BIG_ENDIAN +#elif !defined(BYTE_ORDER) + +/* ARM */ +# if defined(__ARMEL__) +# define BYTE_ORDER LITTLE_ENDIAN +# elif defined(__ARMEB__) +# define BYTE_ORDER BIG_ENDIAN +# elif defined(__arm__) +# error "ARMs are bi-endian processors. Endianness is unknown for this system, please drop an e-mail to SmartEiffel@loria.fr" +# endif + +/* HP RISC */ +# if defined(__hppa__) || defined(__hppa) || defined(__hp9000) || \ + defined(__hp9000s300) || defined(hp9000s300) || \ + defined(__hp9000s700) || defined(hp9000s700) || \ + defined(__hp9000s800) || defined(hp9000s800) || defined(hp9000s820) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* IBM */ +# if defined(ibm032) || defined(ibm370) || defined(_IBMR2) || \ + defined(IBM370) || defined(__MVS__) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* Intel x86 */ +# if defined(i386) || defined(__i386__) || defined(__i386) || \ + defined(_M_IX86) || defined(_X86_) || defined(__THW_INTEL) || \ + defined(sun386) +# define BYTE_ORDER LITTLE_ENDIAN +# endif + +/* Intel Itanium */ +# if defined(__ia64__) || defined(_IA64) || defined(__IA64__) || \ + defined(_M_IA64) +# define BYTE_ORDER LITTLE_ENDIAN +# endif + +/* Nationnal Semiconductor 32000 serie */ +# if defined(ns32000) +# define BYTE_ORDER LITTLE_ENDIAN +# endif + +/* Motorola 68000 */ +# if defined(mc68000) || defined(is68k) || defined(macII) || defined(m68k) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* MIPS */ +# if defined(MIPSEL) || defined(_MIPSEL) +# define BYTE_ORDER LITTLE_ENDIAN +# elif defined(MIPSEB) || defined(_MIPSEB) +# define BYTE_ORDER BIG_ENDIAN +# elif defined(__mips__) || defined(__mips) || defined(__MIPS__) +# error "MIPS are bi-endian processors. Endianness is unknown for this system, please drop an e-mail to SmartEiffel@loria.fr" +# endif + +/* Power PC */ +/* this processor is bi-endian, how to know if little-endian is set? */ +# if defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) || \ + defined(__ppc__) || defined(__ppc) || defined(_M_PPC) || \ + defined(__PPC) || defined(__PPC__) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* Pyramid 9810 */ +# if defined(pyr) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* RS/6000 */ +# if defined(__THW_RS6000) || defined(_IBMR2) || defined(_POWER) || \ + defined(_ARCH_PWR) || defined(_ARCH_PWR2) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* SPARC */ +# if defined(__sparc__) || defined(sparc) || defined(__sparc) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* CCI Tahoe */ +# if defined(tahoe) +# define BYTE_ORDER BIG_ENDIAN +# endif + +/* VAX */ +# if defined(vax) || defined(VAX) || defined(__vax__) || defined(_vax_) || \ + defined(__vax) || defined(__VAX) +# define BYTE_ORDER LITTLE_ENDIAN +# endif + +/* ELATE is a virtual OS with a little endian Virtual Processor */ +# if defined(__ELATE__) +# define BYTE_ORDER LITTLE_ENDIAN +# endif + +/* Miscellaneous little endian */ +# if defined(wrltitan) +# define BYTE_ORDER LITTLE_ENDIAN +# endif + +/* Miscellaneous big endian */ +# if defined(apollo) || defined(__convex__) || defined(_CRAY) || defined(sel) +# define BYTE_ORDER BIG_ENDIAN +# endif +#endif + + +#if !defined(BYTE_ORDER) +# error "Unknown byte order. Add your system in above macros once you know your system type. Please drop an e-mail to SmartEiffel@loria.fr" +#endif +#if (BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN) +# error "Only little-endian and big-endian are valid at this time. Please drop an e-mail to SmartEiffel@loria.fr" +#endif + + +/* + Byte swapping stuff +*/ +extern void copy_swap_16(const uint16_t *src, uint16_t *dest, int count); + + +/* Because ANSI C EXIT_* are not always defined: */ +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +#endif +#ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +#endif + +/* + On Linux glibc systems, we need to use sig.* versions of jmp_buf, + setjmp and longjmp to preserve the signal handling context. + Currently, the way I figured to detect this is if _SIGSET_H_types has + been defined in /usr/include/setjmp.h. + + NOTE: with gcc, -ansi is used for SmartEiffel generated files EXCEPT in + -no_split mode. ANSI only recognizes the non-sig versions. +*/ +#if (defined(_SIGSET_H_types) && !defined(__STRICT_ANSI__)) +# define JMP_BUF sigjmp_buf +# define SETJMP(x) sigsetjmp( (x), 1) +# define LONGJMP siglongjmp +#else +# define JMP_BUF jmp_buf +# define SETJMP(x) setjmp( (x) ) +# define LONGJMP longjmp +#endif + +/* + Type to store reference objects Id: + */ +typedef int Tid; +typedef struct S0 T0; +struct S0{Tid id;}; + +/* + The default channel used to print runtime error messages: +*/ +#define SE_ERR stderr + +/* + Eiffel type INTEGER_8 is #1: +*/ +typedef int8_t T1; +#define EIF_INTEGER_8 T1 +#define M1 (INT8_C(0)) +#define EIF_INTEGER_8_BITS (CHAR_BIT) +#define EIF_MINIMUM_INTEGER_8 (INT8_MIN) +#define EIF_MAXIMUM_INTEGER_8 (INT8_MAX) + +/* + Eiffel type INTEGER_16 is #10: +*/ +typedef int16_t T10; +#define EIF_INTEGER_16 T10 +#define M10 (INT16_C(0)) +#define EIF_INTEGER_16_BITS (CHAR_BIT*sizeof(T10t)) +#define EIF_MINIMUM_INTEGER_16 (INT16_MIN) /*-32768*/ +#define EIF_MAXIMUM_INTEGER_16 (INT16_MAX) /*+32767*/ + +/* + Eiffel type INTEGER or INTEGER_32 is #2: +*/ +typedef int32_t T2; +#define EIF_INTEGER T2 +#define EIF_INTEGER_32 T2 +#define M2 (INT32_C(0)) +#define EIF_INTEGER_BITS ((T2)(CHAR_BIT*sizeof(T2))) +#define EIF_INTEGER_32_BITS EIF_INTEGER_BITS +#define EIF_MINIMUM_INTEGER (INT32_MIN) +#define EIF_MAXIMUM_INTEGER (INT32_MAX) + +/* + Eiffel type INTEGER_64 is #11: +*/ +typedef int64_t T11; +#define EIF_INTEGER_64 T11 +#define M11 (INT64_C(0)) +#define EIF_INTEGER_64_BITS (CHAR_BIT*sizeof(T11)) +#define EIF_MINIMUM_INTEGER_64 (INT64_MIN) +#define EIF_MAXIMUM_INTEGER_64 (INT64_MAX) + +/* + Eiffel type CHARACTER is #3: +*/ +typedef unsigned char T3; +#define EIF_CHARACTER T3 +#define M3 (0) +#define EIF_CHARACTER_BITS (CHAR_BIT) +#define EIF_MINIMUM_CHARACTER_CODE (0) +#define EIF_MAXIMUM_CHARACTER_CODE (255) +#define T3code(x) ((T10)(x)) +#define T3to_integer(x) ((signed char)(x)) +#define T3to_integer_8(x) ((signed char)(x)) +#define T3to_bit(x) (x) + +/* + Eiffel type REAL_32 is #4: +*/ +typedef float T4; +typedef T4 real32_t; +#define EIF_REAL_32 T4 +#define M4 (0.0) +#define EIF_MINIMUM_REAL_32 (-(FLT_MAX)) +#define EIF_MAXIMUM_REAL_32 (FLT_MAX) + +/* + Eiffel type REAL or REAL_64 is #5: +*/ +typedef double T5; +typedef T5 real64_t; +#define EIF_REAL_64 T5 +#define M5 (0.0) +#define EIF_MINIMUM_REAL_64 (-(DBL_MAX)) +#define EIF_MINIMUM_REAL (EIF_MINIMUM_REAL_64) +#define EIF_MAXIMUM_REAL_64 (DBL_MAX) +#define EIF_MAXIMUM_REAL (EIF_MAXIMUM_REAL_64) + +/* + Eiffel type REAL_EXTENDED is #12: +*/ +typedef long double T12; +typedef T12 real_extended_t; +#define EIF_REAL_EXTENDED T12 +#define M12 (0.0) +#define EIF_MINIMUM_REAL_EXTENDED (-(DBL_MAX)) +#define EIF_MAXIMUM_REAL_EXTENDED (DBL_MAX) + +/* + Eiffel type BOOLEAN is #6: +*/ +typedef char T6; +#define EIF_BOOLEAN T6 +#define M6 (0) +#define EIF_BOOLEAN_BITS (CHAR_BIT) + +/* + Eiffel type POINTER is #8: +*/ +typedef void* T8; +#define EIF_POINTER T8 +/* Sometimes, NULL is defined as 0 */ +#define M8 ((void*)NULL) +#define EIF_POINTER_BITS (CHAR_BIT*sizeof(void*)) + +/* + To use type STRING on the C side: +*/ +#define EIF_STRING T7* + +/* + Some Other EIF_* defined in ETL: +*/ +#define eif_access(x) ((char*)(x)) +#define EIF_REFERENCE T0* +#define EIF_OBJ T0* +#define EIF_OBJECT EIF_OBJ + +/* + Wrappers for `malloc' and `calloc': +*/ +void* se_malloc(size_t size); +void* se_calloc(size_t nmemb, size_t size); +void* se_realloc(void* src, size_t size); + +/* + die method. + */ +void se_die(int code); + +/* + Runtime hooks. They allow different runtime modules to be quite independant. In time, they will also allow + thread-safe operations. + + Currently known modules: + - boost + - no_check + - sedb + - gc + - print stack + - profile + - plugins + + However, currently only profile uses this method. It will be extended to other modules later. + + The currently defined hooks are described in the enum below (the names should be self-explanatory). + */ +typedef enum { + SE_HANDLE_EXCEPTION_SET, /* called when an exception handler is set, prior to SETJMP */ + SE_HANDLE_EXCEPTION_CLEAR, /* called when a feature with an exception handler normally returns */ + SE_HANDLE_EXCEPTION_THROWN, /* called when an exception is thrown, prior to the LONGJMP */ + SE_HANDLE_ENTER_GC, /* called when gc_start() begins */ + SE_HANDLE_EXIT_GC, /* called when gc_start() ends */ + SE_HANDLE_ENTER_PRINT_STACK, /* called when se_print_run_time_stack() begins */ + SE_HANDLE_EXIT_PRINT_STACK, /* called when se_print_run_time_stack() ends */ + SE_HANDLE_NO_MORE_MEMORY, /* called by se_alloc() and co */ + SE_HANDLE_SEDB_BREAK, /* called when sedb stops the program */ + SE_HANDLE_SEDB_CONTINUE, /* called when sedb continues the program */ + SE_HANDLE_RUNTIME_ERROR, /* called when a runtime error is raised and not caught by an exception. Cannot be raised in boost mode. */ + SE_HANDLE_DIE_WITH_CODE, /* called when the program is stopped by the die_with_code feature. The data points to the int code. */ + SE_HANDLE_NORMAL_EXIT /* called when the program correctly terminates. The data is null. */ +} se_handler_action_t; + +extern int handlers_count; +typedef void se_runtime_handler_t(se_handler_action_t action, void*data); +void register_handler(se_runtime_handler_t*handler); +void _handle(se_handler_action_t action, void*data); + +#define handle(action,data) do{if(handlers_count>0)_handle(action,data);}while(0) + +#endif /* #ifndef _BASE_H */ +#define SE_BOOST 1 +#define SE_GC_LIB 1 +/* C Header Pass 1: */ +typedef union _se_agent se_agent; +typedef struct _se_agent0 se_agent0; +typedef struct S110 T110; +typedef struct S120 T120; +typedef struct S189 T189; +typedef T0 T202; +typedef struct S246 T246; +typedef struct S176 T176; +typedef struct S128 T128; +typedef struct S286 T286; +typedef struct S277 T277; +typedef struct S271 T271; +typedef struct S268 T268; +typedef struct S266 T266; +typedef struct S265 T265; +typedef struct S264 T264; +typedef struct S139 T139; +typedef struct S142 T142; +typedef struct S141 T141; +typedef struct S258 T258; +typedef struct S256 T256; +typedef struct S216 T216; +typedef struct S254 T254; +typedef struct S253 T253; +typedef struct S252 T252; +typedef struct S249 T249; +typedef struct S245 T245; +typedef struct S244 T244; +typedef struct S243 T243; +typedef struct S146 T146; +typedef struct S148 T148; +typedef struct S147 T147; +typedef struct S236 T236; +typedef struct S235 T235; +typedef struct S234 T234; +typedef struct S232 T232; +typedef struct S230 T230; +typedef struct S228 T228; +typedef struct S227 T227; +typedef struct S226 T226; +typedef struct S225 T225; +typedef struct S158 T158; +typedef struct S54 T54; +typedef struct S223 T223; +typedef struct S222 T222; +typedef struct S221 T221; +typedef struct S67 T67; +typedef struct S7 T7; +typedef struct S218 T218; +typedef struct S217 T217; +typedef struct S215 T215; +typedef struct S214 T214; +typedef struct S213 T213; +typedef struct S211 T211; +typedef struct S208 T208; +typedef struct S207 T207; +typedef struct S206 T206; +typedef struct S131 T131; +typedef struct S130 T130; +typedef struct S72 T72; +typedef struct S53 T53; +typedef void*T46; +typedef struct S175 T175; +typedef struct S205 T205; +typedef int T143; +typedef struct S204 T204; +typedef struct S43 T43; +typedef struct S69 T69; +typedef struct S70 T70; +typedef struct S64 T64; +typedef struct S25 T25; +/* C Header Pass 2: */ +typedef T0**T293; +#define M293 NULL +typedef T0**T292; +#define M292 NULL +typedef T0**T291; +#define M291 NULL +typedef T0**T290; +#define M290 NULL +typedef T0**T289; +#define M289 NULL +typedef T0**T288; +#define M288 NULL +typedef T0**T287; +#define M287 NULL +typedef T0**T284; +#define M284 NULL +typedef T0**T281; +#define M281 NULL +typedef T0**T276; +#define M276 NULL +typedef T0**T270; +#define M270 NULL +typedef T0**T267; +#define M267 NULL +typedef T0**T263; +#define M263 NULL +typedef T0**T262; +#define M262 NULL +typedef T0**T261; +#define M261 NULL +typedef T0**T260; +#define M260 NULL +typedef T0**T259; +#define M259 NULL +typedef T0**T257; +#define M257 NULL +typedef T0**T255; +#define M255 NULL +typedef T0**T251; +#define M251 NULL +typedef T2*T250; +#define M250 NULL +typedef T0**T247; +#define M247 NULL +typedef T0**T239; +#define M239 NULL +typedef T0**T238; +#define M238 NULL +typedef T0**T237; +#define M237 NULL +typedef T0**T220; +#define M220 NULL +typedef T0**T219; +#define M219 NULL +typedef T8*T212; +#define M212 NULL +typedef T3*T9; +#define M9 NULL +/* C Header Pass 3: */ +struct S189{T11 _time_memory;}; +int se_cmpT189(T189 o1,T189 o2); +struct S176{T189 _time;T2 _microsecond;}; +int se_cmpT176(T176 o1,T176 o2); +/* C Header Pass 4: */ +struct S110{Tid id;T0* _stream;}; +extern T110 M110; +struct S120{Tid id;T0* _input_stream;}; +extern T120 M120; +extern T189 M189; +extern T176 M176; +struct S286{Tid id;T0* _item;}; +extern T286 M286; +struct S277{Tid id;T0* _item;}; +extern T277 M277; +struct S271{Tid id;T0* _item;}; +extern T271 M271; +struct S268{Tid id;T0* _item;}; +extern T268 M268; +struct S266{T0* _item;T8 _key;T0* _next;}; +extern T266 M266; +struct S265{Tid id;T0* _item;}; +extern T265 M265; +struct S264{T0* _item;T2 _key;T0* _next;}; +extern T264 M264; +struct S258{Tid id;T0* _item;}; +extern T258 M258; +struct S256{T0* _item;T0* _key;T0* _next;}; +extern T256 M256; +struct S254{T290 _storage;T2 _capacity;T2 _upper;}; +extern T254 M254; +struct S253{Tid id;T0* _item;}; +extern T253 M253; +struct S252{T2 _item;T2 _key;T0* _next;}; +extern T252 M252; +struct S249{Tid id;T0* _item;}; +extern T249 M249; +struct S246{T0* _item;T0* _key;T0* _next;}; +extern T246 M246; +struct S245{Tid id;T0* _item;}; +extern T245 M245; +struct S244{T289 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T244 M244; +struct S243{Tid id;T0* _item;}; +extern T243 M243; +struct S147{T6 _queryable;T2 _timeout;T176 _expiration;T6 _expiration_valid;T6 _current_time_valid;T8 _read_set;T2 _read_size;T8 _write_set;T2 _write_size;T8 _exception_set;T2 _exception_size;T2 _highest;}; +extern T147 M147; +struct S236{T288 _storage;T2 _capacity;T2 _upper;}; +extern T236 M236; +struct S235{T287 _storage;T2 _capacity;T2 _upper;}; +extern T235 M235; +struct S234{T284 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T234 M234; +struct S232{T281 _storage;T2 _capacity;T2 _upper;}; +extern T232 M232; +struct S230{T276 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T230 M230; +struct S228{T270 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T228 M228; +struct S227{T267 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T227 M227; +struct S226{T263 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T226 M226; +struct S225{T262 _storage;T2 _capacity;T2 _upper;}; +extern T225 M225; +struct S158{T0* _container;}; +extern T158 M158; +struct S54{T0* _filter;T9 _buffer;T2 _capacity;}; +extern T54 M54; +struct S139{T2 _key_count;T2 _minimum_code;T2 _maximum_code;}; +extern T139 M139; +struct S223{T261 _storage;T2 _capacity;T2 _upper;}; +extern T223 M223; +struct S142{T2 _buttons_count;}; +extern T142 M142; +struct S222{T260 _storage;T2 _capacity;T2 _upper;}; +extern T222 M222; +struct S141{T6 _absolute;T2 _motion_buffer_size;T0* _minimums;T0* _maximums;T0* _resolutions;}; +extern T141 M141; +struct S221{T259 _storage;T2 _capacity;T2 _upper;}; +extern T221 M221; +struct S218{T257 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T218 M218; +struct S217{T255 _storage;T2 _capacity;T2 _upper;}; +extern T217 M217; +struct S216{T0* _callbacks;T2 _last;T2 _index;}; +extern T216 M216; +struct S215{T251 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T215 M215; +struct S214{T250 _storage;T2 _capacity;T2 _upper;}; +extern T214 M214; +struct S213{T250 _storage;T2 _capacity;T2 _upper;T2 _lower;T2 _storage_lower;}; +extern T213 M213; +struct S211{T247 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T211 M211; +struct S208{T239 _buckets;T2 _capacity;T2 _count;T2 _cache_user;T0* _free_nodes;}; +extern T208 M208; +struct S146{Tid id;T0* _stream_exception;T0* _can_read;T6 _is_connected;T2 _filtered_descriptor;T8 _delete_function;T8 _read_function;T8 _data;}; +extern T146 M146; +struct S207{T238 _storage;T2 _capacity;T2 _upper;}; +extern T207 M207; +struct S206{T237 _storage;T2 _capacity;T2 _upper;}; +extern T206 M206; +struct S148{T0* _job_list;T0* _finished_jobs;T0* _ready_jobs;T0* _events;T6 _pause;T6 _break;}; +extern T148 M148; +struct S131{Tid id;T0* _can_read;T2 _descriptor;}; +extern T131 M131; +struct S130{T0* _loop_stack;T6 _stop;T0* _vision;T0* _event_catcher_stack;}; +extern T130 M130; +struct S128{Tid id;T2 _priority;T6 _done;T2 _current_event_type;T0* _widget;T0* _event;T0* _pointer_move_event;T0* _geometry_change_event;T0* _extension_devices;T0* _graphic_connection;T6 _suspend;T0* _event_catcher_found;}; +extern T128 M128; +struct S72{T8 _widget;T2 _pos_y;T2 _pos_x;T0* _layout;T2 _width;T2 _height;T2 _min_height;T2 _min_width;T2 _std_width;T2 _std_height;T0* _child;}; +extern T72 M72; +struct S53{T0* _filter;T2 _buffer_position;T9 _buffer;T2 _capacity;}; +extern T53 M53; +extern T46 M46; +struct S175{T0* _devices;}; +extern T175 M175; +struct S205{T220 _storage;T2 _capacity;T2 _upper;}; +extern T205 M205; +extern T143 M143; +struct S204{T219 _storage;T2 _capacity;T2 _upper;}; +extern T204 M204; +struct S67{T2 _device_id;T0* _name;T0* _type;T6 _is_current_pointer;T6 _is_current_keyboard;T6 _is_available_extension;T0* _key_capabilities;T0* _button_capabilities;T0* _axes_capabilities;T8 _x_device;T0* _actions;T0* _events_indexes;T0* _events_id;T8 _events_classes;}; +extern T67 M67; +struct S43{T0* _filter;}; +extern T43 M43; +struct S69{T0* _xinput_ivy;T2 _y_offset;T2 _x_offset;T5 _prediction_time;T2 _ignored_counter;T2 _ignore_rate;T0* _button_message_header;T0* _pointer_message_header;T2 _old_presure;T0* _y_history;T0* _x_history;T0* _time_history;T2 _predicted_y;T2 _predicted_x;T5 _a2y;T5 _a2x;T5 _t0;T5 _y2;T5 _x2;T5 _s2y;T5 _s2x;T5 _s2yn;T5 _s2xn;T5 _t1;T5 _t2;}; +extern T69 M69; +struct S7{T9 _storage;T2 _count;T2 _capacity;}; +extern T7 M7; +struct S70{Tid id;T2 _priority;T6 _started;T0* _pattern_list;T0* _callback_list;T2 _destination_count;T0* _tmp_client_list;T6 _done;T0* _events_set;T0* _ivy_clients;T0* _application_name_;T0* _ready_message_;}; +extern T70 M70; +struct S64{T2 _display_width;T2 _display_height;T0* _loop_stack;T0* _event_catcher;T0* _graphic_connection;T0* _widget;}; +extern T64 M64; +struct S25{T0* _ivy_bus;T0* _application_name;T0* _device_id;T0* _screen;int _x11;T2 _left_pad_position;T2 _right_pad_position;T0* _ivy;}; +extern T25 M25; +extern char*s25_0; +extern char*s25_21190322; +extern char*s25_314746909; +extern char*s69_190991; +extern char*s69_475; +extern char*s13_1432888418; +extern char*s69_697; +extern char*s69_1961093439; +extern char*s69_104371129; +extern char*s25_44143; +extern char*s69_104371267; +extern char*s69_1699147265; +extern char*s13_1210; +extern char*s69_1756148648; +extern char*s69_1756148653; +extern char*s25_1948078333; +extern char*s69_1461; +extern char*s69_1466; +extern char*s69_23436791; +extern char*s25_1666922512; +extern char*s69_56246305; +extern char*s25_1957581; +extern char*s25_1403610646; +extern char*s69_4725661; +extern char*s69_4725666; +extern char*s69_4738061; +extern char*s25_1213754110; +extern char*s25_765567725; +extern char*s69_2179769; +extern char*s25_751291742; +extern char*s25_1554692325; +extern char*s25_357338863; +extern char*s69_2676; +extern char*s69_1874520032; +extern char*s69_1619665677; +extern char*s25_1491411490; +extern char*s25_4487261; +extern char*s69_1940108584; +extern char*s25_694149733; +extern char*s64_1686724329; +extern char*s69_586741066; +extern char*s25_703548632; +extern char*s25_89639; +extern char*s69_15980; +extern char*s69_397440; +extern char*s25_69208946; +extern char*s69_188916; +extern char*s25_447643634; +extern char*s69_2057747851; +extern char*s25_3479972; +extern char*s25_557679246; +extern char*s25_1638797568; +extern char*s25_1260406502; +extern char*s69_22702411; +extern char*s69_22702416; +extern char*s25_946366; +extern char*s69_1501987274; +extern char*s25_382517595; +extern char*s69_952626; +extern char*s69_2112369621; +extern char*s69_10739017; +extern char*s69_10739024; +extern char*s69_10739030; +extern char*s70_202554; +extern char*s143_1472358418; +extern char*s25_1959886733; +extern char*s69_1257860908; +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#define SE_BOOST 1 +void se_print_run_time_stack (void); +void se_signal_handler(int sig); +#define FSOC_SIZE 8192 +#define RSOC_SIZE 32768 +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +/* + This file (SmartEiffel/sys/runtime/gc_lib.h) is automatically included + when the Garbage Collector is used (default, unless option -no_gc has + been selected). +*/ + +#define SE_GC_LIB 1 + +#define SE_GC_LOW_MEMORY_STRATEGY 0 +#define SE_GC_HIGH_MEMORY_STRATEGY 1 +#define SE_GC_DEFAULT_MEMORY_STRATEGY 2 +extern int se_gc_strategy; + + +#define RSOH_UNMARKED 15253 +#define RSOH_FREE 1 +#define RSOH_MARKED 2 + + +#define FSOH_UNMARKED ((void *) 1) +#define FSOH_MARKED ((void *) 2) + +/* To codify the state and the type of some Memory Chunk, we are + using the following definitions : +*/ +#define FSO_FREE_CHUNK (-2) +#define RSO_FREE_CHUNK (-1) +#define RSO_USED_CHUNK ( 0) +#define FSO_STORE_CHUNK ( 1) +#define FSO_USED_CHUNK ( 2) +#define FREE_CHUNK(x) ((x)<0) + +/* Minimum size for a store area in a ReSizable Objects Chunk : + */ +#define RSOC_MIN_STORE 512 + +/* The default channel used to print -gc_info flag information : +*/ +#define SE_GCINFO SE_ERR + +extern int collector_counter; /* MEMORY.collector_counter */ + +typedef struct s_mch mch; /* Memory Chunk Header. */ +typedef struct s_fsoc fsoc; /* Fixed Size Objects Chunk. */ +typedef union u_rsoh rsoh; /* ReSizable Object Header. */ +typedef struct s_fll_rsoh fll_rsoh; +typedef struct s_rsoc rsoc; /* ReSizable Objects Chunk. */ +typedef struct s_na_env na_env; /* Native Array ENVironment. */ + + +struct s_mch{ + unsigned int size; /* In number of bytes (actual argument of malloc).*/ + int state_type; /* One value in : RSO_USED_CHUNK, + FREE_CHUNK, FSO_STORE_CHUNK, FSO_USED_CHUNK */ + void(*amfp)(mch*,void*); /* Align Mark Function Pointer. */ + void(*swfp)(mch*); /* SWeep Function Pointer. */ +}; + +struct s_fsoc{ + mch header; /* Common header for fsoc and rsoc. */ + fsoc* next; /* The next one when in free list (fsocfl). */ + int count_minus_one; + double first_object; +}; + +typedef struct _rso_header rso_header; + +struct _rso_header{ + unsigned int size; + int magic_flag; /* RSOH_MARKED when used, + RSOH_FREE when free, + else RSOH_UNMARKED */ +}; + +typedef union u_fso_header fso_header; + +union u_fso_header{ + void* flag; + void* next;/* accurately typed as gcXX* in actual fso headers */ +}; + +union u_rsoh{ + rso_header header; + double padding; +}; + +struct s_fll_rsoh { + rso_header rsoh_field; + fll_rsoh* nextflol; +}; + +struct s_rsoc{ + mch header; /* Common header for fsoc and rsoc. */ + unsigned int isize; /* Initial size (at malloc time) to detect split chunks. */ + rsoc* next; /* Next one when in free list (rsocfl) or in na_env->chunk_list. */ + fll_rsoh*free_list_of_large; /* Intra. free list. */ + na_env*nae; + rsoh first_header; +}; + +struct s_na_env{ + unsigned int store_left; + rsoh* store; + rsoc*store_chunk; + rsoc*chunk_list; /*List of chunks of that type that have a non-null free_list_of_large*/ + void (*gc_mark)(T0*); + int space_used; +}; + +extern void**stack_bottom; +extern mch**gcmt; +extern int gcmt_max; +extern int gcmt_used; +extern int gc_is_off; +extern fsoc* fsocfl; +extern unsigned int fsoc_count; +extern unsigned int rsoc_count; +extern void*gcmt_tail_addr; + +void gc_sweep(void); +void gc_mark(void* p); +mch* gc_find_chunk(void* p); +int gc_stack_size(void); +int garbage_delayed(void); +void gc_update_ceils(void); +char*new_na(na_env*nae,unsigned int size); +unsigned int fsocfl_count(void); +unsigned int rsocfl_count(void); +void gc_dispose_before_exit(void); +void mark_stack_and_registers (void); +fsoc* gc_fsoc_get1(void); +fsoc* gc_fsoc_get2(void); + +int gc_memory_used(void); +/*The generic se_agent0 definition:*/ +struct _se_agent0{ +Tid id; +Tid creation_mold_id; +void(*afp)(se_agent*);void(*gc_mark_agent_mold)(se_agent*); +int(*eq)(se_agent*,se_agent*); +}; +#include "X11/extensions/XInput.h" + +#define x_list_input_devices(list_size) (XListInputDevices(dpy, list_size)) +// XDeviceInfo * XListInputDevices(Display * display, int * returned_list_size); + + +#define x_device_info_id(device_list, index) (((XDeviceInfo *)device_list)[index].id) +//XID x_device_info_id(XDeviceInfo * device_list, int index) + +#define x_device_info_type(device_list, index) (((XDeviceInfo *)device_list)[index].type) +//Atom x_device_info_type(XDeviceInfo * device_list, int index) + +#define x_device_info_name(device_list, index) (((XDeviceInfo *)device_list)[index].name) +//char * x_device_info_name(XDeviceInfo * device_list, int index) + +#define x_device_info_num_classes(device_list, index) (((XDeviceInfo *)device_list)[index].num_classes) +//int x_device_info_num_classes(XDeviceInfo * device_list, int index) + +#define x_device_info_class_info(device_list, index) (((XDeviceInfo *)device_list)[index].inputclassinfo) +//XAnyClassPtr x_device_info_class_info(XDeviceInfo * device_list, int index) + +#define x_next_class_info(class_info) ((XAnyClassPtr)((char *)class_info + ((XAnyClassPtr)class_info)->length)) +//XAnyClassPtr x_next_class_info(XAnyClassPtr class_info) + +#define x_is_key_class_info(class_info) (((XAnyClassPtr)class_info)->class == KeyClass) +//bool x_is_key_class_info(XAnyClassPtr class_info) + +#define x_is_button_class_info(class_info) (((XAnyClassPtr)class_info)->class == ButtonClass) +//bool x_is_button_class_info(XAnyClassPtr class_info) + +#define x_is_valuator_class_info(class_info) (((XAnyClassPtr)class_info)->class == ValuatorClass) +//bool x_is_valuator_class_info(XAnyClassPtr class_info) + +#define x_device_info_is_pointer(device_list, index) (((XDeviceInfo *)device_list)[index].use == IsXPointer) +//bool x_device_info_is_pointer(XDeviceInfo * device_list, int index) + +#define x_device_info_is_keyboard(device_list, index) (((XDeviceInfo *)device_list)[index].use == IsXKeyboard) +//bool x_device_info_is_keyboard(XDeviceInfo * device_list, int index) + +#define x_device_info_is_available_extension(device_list, index) (((XDeviceInfo *)device_list)[index].use == IsXExtensionDevice) +//bool x_device_info_is_available_extension(XDeviceInfo * device_list, int index) + +#define x_button_info_num_buttons(info) (((XButtonInfo *)info)->num_buttons) +//short x_button_info_num_buttons(XButtonInfo * info) + +#define x_valuator_info_minimum(info, index) (((XValuatorInfo *)info)->axes[index].min_value) +//int x_valuator_info_minimum(XValuatorInfo * info, int index) + +#define x_valuator_info_maximum(info, index) (((XValuatorInfo *)info)->axes[index].max_value) +//int x_valuator_info_maximum(XValuatorInfo * info, int index) + +#define x_valuator_info_resolution(info, index) (((XValuatorInfo *)info)->axes[index].resolution) +//int x_valuator_info_resolution(XValuatorInfo * info, int index) + +#define x_open_device(device_id) XOpenDevice(dpy, device_id) +//XDevice * x_open_device(XID device_id) + +#define x_close_device(device) XCloseDevice(dpy, device) +//void x_close_device(XDevice * device) + +#define x_device_motion_event_data(index) (((XDeviceMotionEvent*)&last_event)->axis_data[index]) +//int x_device_motion_event_data(int index) + +#define x_device_proximity_event_data(index) (((XProximityNotifyEvent*)&last_event)->axis_data[index]) +//int x_device_proximity_event_data(int index) + +#define x_device_button_event_number (((XDeviceButtonEvent*)&last_event)->button) +//int x_device_button_event_number + +#define x_device_event_time (((XDeviceButtonEvent*)&last_event)->time) +//int x_device_event_time + +extern void x_key_info_init(XKeyInfo *info, int *min_k, int *max_k, int *num_k); + +extern void x_valuator_info_init(XValuatorInfo *info, int *nb_axes, int *is_absolute, int *buf_size); + +extern void * x_device_init_events(XDevice * device, int * events_id); +// Result is XEventClass * + +void x_device_select_events(void * window, XEventClass * events_classes); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#ifdef WIN32 +# include +# include /* needed for timeGetTime() */ +void vision_init(void); +# ifndef WM_MOUSEWHEEL +# define WM_MOUSEWHEEL 0x20A +# endif +#else +# include +# include +# include +#endif + +#ifndef VISION_DEBUG +# define vision_check_call(x) (x) +# define vision_check(x) +#else + +/* Executes x; if it returns zero, exits. */ +#define vision_check_call(x) \ + do { \ + if (!(x)) { \ + fprintf(stderr, "Call failed line %d in %s (call was: \"%s\")\n", __LINE__, __FILE__, #x); exit(1); \ + } \ + } while (0) + +/* If x is non-zero, exits. */ +#define vision_check(x) \ + do { \ + if (!(x)) { \ + fprintf(stderr, "Check failed line %d in %s (test was: \"%s\")\n", __LINE__, __FILE__, #x); exit(1); \ + } \ + } while (0) + +#endif + + +#define basic_vision_init _basic_vision_init() +#define basic_vision_next_event _basic_vision_next_event() +#define basic_vision_character _basic_vision_character() +#define basic_vision_key _basic_vision_key() +extern int _basic_vision_init(void); +extern int _basic_vision_next_event(void); +extern int _basic_vision_character(void); +extern int basic_vision_get_keysym(char*); +extern void *basic_vision_get_color(int *r, int *g, int *b); + +#ifdef WIN32 + extern HDC hdc; + extern const char *CLASSNAME; + extern HINSTANCE main_hInstance; + extern int main_nCmdShow; + extern MSG last_message; + extern HANDLE sem_thread_finished_work; + extern HANDLE sem_new_window; + extern void display_error(int num); + enum commands {CREATE_WINDOW = 1, SET_TITLE, CLEAR_AREA, MAP_WINDOW, MOVE_WINDOW, SET_FOCUS}; + struct cmd_list {struct cmd_list * next; enum commands cmd_type; int param1; int param2; int param3; int param4; int param5; int param6;}; + extern volatile struct cmd_list *first_cmd; + extern volatile struct cmd_list *first_free_cmd; + extern HANDLE sem_cmd_ready; + + /* paint message informations */ + extern PAINTSTRUCT paintstruct; + + extern RECT windowRect; /* new window size definition */ + extern DWORD message_thread_id; + extern int decorated_window_x_offset; + extern int decorated_window_y_offset; + extern int decorated_window_width_offset; + extern int decorated_window_height_offset; + +# define basic_vision_real_event (last_message.message) +# define basic_vision_flush ((void)0) +# define basic_vision_display_width (GetSystemMetrics(SM_CXSCREEN)) +# define basic_vision_display_height (GetSystemMetrics(SM_CYSCREEN)) +# define basic_vision_event_widget ((void *)(last_message.hwnd)) +# define basic_vision_pointer_x ((short)LOWORD(last_message.lParam)) +# define basic_vision_pointer_y ((short)HIWORD(last_message.lParam)) +# define basic_vision_pointer_x_root (last_message.pt.x) +# define basic_vision_pointer_y_root (last_message.pt.y) +# define basic_vision_event_time (last_message.time) +# define basic_vision_expose_x (paintstruct.rcPaint.left) +# define basic_vision_expose_y (paintstruct.rcPaint.top) +# define basic_vision_expose_width (paintstruct.rcPaint.right-paintstruct.rcPaint.left) +# define basic_vision_expose_height (paintstruct.rcPaint.bottom-paintstruct.rcPaint.top) +# define basic_vision_geometry_x (windowRect.left) +# define basic_vision_geometry_y (windowRect.top) +# define basic_vision_geometry_width (windowRect.right) +# define basic_vision_geometry_height (windowRect.bottom) +# define basic_vision_geometry_border (GetSystemMetrics(SM_CXBORDER)) /* --TODO: X and Y may have different values */ +# define basic_vision_is_left_down (GetAsyncKeyState(button_swapped?VK_RBUTTON:VK_LBUTTON)>>15) +# define basic_vision_is_middle_down (GetAsyncKeyState(VK_MBUTTON)>>15) +# define basic_vision_is_right_down (GetAsyncKeyState(button_swapped?VK_LBUTTON:VK_RBUTTON)>>15) + +# define basic_vision_extension_device_id (fprintf(stderr, "No extension currently available for Windows.\n")) + +extern int button_swapped; + +#else + extern Display *dpy; /* X server connection */ + extern XEvent last_event; + + extern Atom atom_DELWIN; + extern Atom atom_PROTOCOLS; + +# define basic_vision_real_event (last_event.type) +# define basic_vision_flush XFlush(dpy) +# define basic_vision_display_width (DisplayWidth(dpy,DefaultScreen(dpy))) +# define basic_vision_display_height (DisplayHeight(dpy,DefaultScreen(dpy))) +# define basic_vision_event_widget ((void *)(last_event.xany.window)) +# define basic_vision_pointer_x (((XButtonEvent*)&last_event)->x) +# define basic_vision_pointer_y (((XButtonEvent*)&last_event)->y) +# define basic_vision_pointer_x_root (((XButtonEvent*)&last_event)->x_root) +# define basic_vision_pointer_y_root (((XButtonEvent*)&last_event)->y_root) +# define basic_vision_event_time (((XButtonEvent*)&last_event)->time) +# define basic_vision_expose_x (((XExposeEvent*)&last_event)->x) +# define basic_vision_expose_y (((XExposeEvent*)&last_event)->y) +# define basic_vision_expose_width (((XExposeEvent*)&last_event)->width) +# define basic_vision_expose_height (((XExposeEvent*)&last_event)->height) +# define basic_vision_geometry_x (((XConfigureEvent*)&last_event)->x) +# define basic_vision_geometry_y (((XConfigureEvent*)&last_event)->y) +# define basic_vision_geometry_width (((XConfigureEvent*)&last_event)->width) +# define basic_vision_geometry_height (((XConfigureEvent*)&last_event)->height) +# define basic_vision_geometry_border (((XConfigureEvent*)&last_event)->border_width) +# define basic_vision_is_left_down ((((XCrossingEvent*)&last_event)->state & Button1Mask) != 0 ) +# define basic_vision_is_middle_down ((((XCrossingEvent*)&last_event)->state & Button2Mask) != 0 ) +# define basic_vision_is_right_down ((((XCrossingEvent*)&last_event)->state & Button3Mask) != 0 ) + +/* For X Input extension */ +# define basic_vision_extension_device_id (((XMotionEvent*)&last_event)->root) /* TRICK (should be deviceid of Device Events */ + +#endif + +int vision_available(void); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#include + +#define text_file_read_open(p) (fopen(((char*)(p)),"r")) +#define text_file_write_open(p) (fopen(((char*)(p)),"w")) +#define text_file_write_append(p) (fopen(((char*)(p)),"a")) +#define text_file_read_write_open(p) (fopen(((char*)(p)),"r+")) +#define text_file_read_write_append(p) (fopen(((char*)(p)),"a+")) +#define binary_file_read_open(p) (fopen(((char*)(p)),"rb")) +#define binary_file_write_open(p) (fopen(((char*)(p)),"wb")) +#define binary_file_write_append(p) (fopen(((char*)(p)),"ab")) +#define io_fclose(p) (fclose((FILE*)(p))) +#define io_flush(p) (fflush((FILE*)(p))) +#define io_getc(f) (getc(((FILE*)(f)))) +#define io_putc(b, f) (putc((b),((FILE*)(f)))) +#define io_ungetc(b, f) (ungetc((b), (FILE*)(f))) +#define io_fread(b, n, f) (fread((void *)(b),(size_t)(1), (size_t)(n),(FILE*)(f))) +#define io_fwrite(b, n, f) (fwrite((void *)(b),(size_t)(1), (size_t)(n),(FILE*)(f))) +#define io_feof(f) (feof(((FILE*)(f)))) +#define io_rename(o, n) (rename(((char*)(o)),((char*)(n)))) +#define io_remove(f) (remove(((char*)(f)))) +#define io_fseek(f, o) (fseek((FILE*)(f),(o),SEEK_SET)) +#define io_ftell(f) ((EIF_INTEGER_64)ftell((FILE*)(f))) + +#if defined __USE_POSIX || defined __unix__ || defined _POSIX_C_SOURCE +# define read_stdin(b, s) (read(STDIN_FILENO, b, s)) +#else + extern int read_stdin(EIF_CHARACTER *buffer, int size); +#endif + +extern void io_copy(char*source, char*target); +extern int io_file_exists(char*source); +extern int io_same_physical_file(char*path1,char*path2); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#include + +#define basic_time ((EIF_INTEGER_64)time(NULL)) +EIF_REAL_64 time_difftime(time_t t2, time_t t1); +EIF_INTEGER time_getyear(time_t t, EIF_INTEGER m); +EIF_INTEGER time_getmonth(time_t t, EIF_INTEGER m); +EIF_INTEGER time_getday(time_t t, EIF_INTEGER m); +EIF_INTEGER time_gethour(time_t t, EIF_INTEGER m); +EIF_INTEGER time_getminute(time_t t, EIF_INTEGER m); +EIF_INTEGER time_getsecond(time_t t, EIF_INTEGER m); +EIF_INTEGER time_getyday(time_t t, EIF_INTEGER m); +EIF_INTEGER time_getwday(time_t t, EIF_INTEGER m); +EIF_BOOLEAN time_is_summer_time_used(time_t t); +EIF_INTEGER_64 time_mktime(EIF_INTEGER year, EIF_INTEGER mon, + EIF_INTEGER mday, EIF_INTEGER hour, + EIF_INTEGER min, EIF_INTEGER sec); +void time_add_second(EIF_INTEGER_64 *t, EIF_INTEGER s); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#define sprintf_pointer(buffer, pointer) sprintf((char*)(buffer),"%p",pointer) +void sprintf_real_64(EIF_CHARACTER* b, EIF_CHARACTER m, int32_t f, real64_t r); +void sprintf_real_extended(EIF_CHARACTER* b, EIF_CHARACTER m, int32_t f, real_extended_t r); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#define pointer_hash_code(p) (((unsigned int)(unsigned long)(p))>>1) +#define pointer_to_any(p) ((T0*)(p)) +#define pointer_plus(p, o) (((char*)(p))+o) + +#define x_get_atom_name(atom) XGetAtomName(dpy, (Atom)atom) + +extern int x_query_extension(char * extension_name); + +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#ifdef WIN32 +/*# include done in base.h */ +# ifndef _MSC_VER +# include +# endif + extern int win32_msg; + extern int win32_msg_ready; + extern HANDLE sem_msg_ready; +#else +# include +/*# include done in base.h */ +/*# include done in base.h */ +#endif + +#ifdef WIN32 +# define sequencer_watch(set, fd) do { \ + if ((fd)==-1) win32_msg=1; else FD_SET((SOCKET)fd, (fd_set*)(set)); \ +} while(0) +#else +# define sequencer_watch(set, fd) FD_SET(fd, (fd_set*)(set)) +#endif + + +#ifdef WIN32 +/****TODO: fd evaluated twice. */ +# define sequencer_is_ready(set, fd) (EIF_BOOLEAN)(((fd)==-1)?win32_msg_ready:FD_ISSET(fd, (fd_set*)(set))) +#else +# define sequencer_is_ready(set, fd) FD_ISSET(fd, (fd_set*)(set)) +#endif + + +#ifdef WIN32 +# define sequencer_reset(set) do{win32_msg=0;win32_msg_ready=FALSE;FD_ZERO((fd_set*)(set));}while(0) +#else +# define sequencer_reset(set) FD_ZERO((fd_set*)(set)) +#endif + +#define sequencer_create_set (_sequencer_create_set()) +EIF_POINTER _sequencer_create_set(void); +int sequencer_wait(int n, fd_set *read_set, int read_size, fd_set *write_set, int write_size, fd_set *exception_set, int exception_size, int s, int us); + +#define sequencer_descriptor(file) (fileno((FILE *)(file))) +#include "Ivy/ivy.h" +#include "Ivy/ivyloop.h" +#include "Ivy/ivysocket.h" + +extern void ivy_init(char * application_name, char * ready_text, void * eiffel_object, void * channel_up_callback, void * channel_down_callback, void * agent_call_callback); + +extern void * bind_message(char * pattern, void * agent); + +#define send_message(txt) IvySendMsg("%s", txt) +#define IvyIdle IvyIdle() +#define read_callback(read_func, channel, descriptor, data) ((void (*)(void *, int, void *))read_func)(channel, descriptor, data) +#define delete_callback(delete_func, data) ((void (*)(void *))delete_func)(data) +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#ifndef WIN32 +# include +#endif + +extern EIF_INTEGER basic_microsecond_microsecond; +extern EIF_INTEGER_64 basic_microsecond_time; +#define basic_microsecond_update (_basic_microsecond_update()) +void _basic_microsecond_update(void); +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#ifdef WIN32 +extern void new_window(void); + +typedef struct window_description_s window_description; +struct window_description_s { + HWND Current; + HBRUSH background; + HBITMAP background_pixmap; /* if non-void, use this pixmap for background + painting. Useful for Win95 only */ + struct window_description_s *parent; + int marked; + int min_width; + int max_width; + int min_height; + int max_height; + int decorated; +}; + +extern window_description screen_desc; + +# define basic_window_root_id NULL +#else +# define basic_window_root_id ((void*)DefaultRootWindow(dpy)) +#endif + + +extern void * basic_window_create(int x, int y, int width, int height, void * parent, int decorate); + +extern void * basic_window_get_drawing_widget(void *window); + +extern char* basic_window_get_title(void *window); + +extern void basic_window_free_title(void *title); + +extern void basic_window_set_title(void *window, void *title); + +extern void basic_window_set_bg_color(void *window, void *color); + +extern void basic_window_set_bg_pixmap(void *window, void *pixmap); + +extern void basic_window_clear_no_expose(void *window); + +extern void basic_window_clear_area_no_expose(void *window, int x, int y, int w, int h); + +extern void basic_window_clear_area(void *window, int x, int y, int w, int h); + +extern void basic_window_set_kbd_focus(void *window); + +extern void basic_window_map(void *window); + +extern void basic_window_unmap(void *window); + +extern void basic_window_set_geometry(void *window,int x, int y, int w, int h); + +extern void basic_window_set_requisition(void *window, int min_w, int min_h, int max_w, int max_h); + +extern void basic_window_set_position(void *window, int x, int y); + +extern void basic_window_set_size(void *window, int x, int y, int width, int height); +extern unsigned int fsoc_count_ceil; +extern unsigned int rsoc_count_ceil; +/*INTEGER_16*/T2 r10to_integer_32(T10 C); +/*INTEGER_16*/T3 r10decimal_digit(T10 C); +/*INTEGER_16*/void r10append_in(T10 C,T0* a1); +extern T9 oBC101sprintf_buffer; +/*REAL_64*/void r5append_in_format(T5 C,T0* a1,T2 a2); +/*POINTER*/T2 r8hash_code(T8 C); +/*INTEGER_32*/T6 r2in_range(T2 C,T2 a1,T2 a2); +/*INTEGER_32*/T2 r2max(T2 C,T2 a1); +/*INTEGER_32*/T3 r2decimal_digit(T2 C); +/*INTEGER_32*/void r2append_in(T2 C,T0* a1); +/*INTEGER_32*/T10 r2high_16(T2 C); +/*CHARACTER*/T6 r3_ix_6261(T3 C,T3 a1); +/*CHARACTER*/T6 r3_ix_6061(T3 C,T3 a1); +/*CHARACTER*/T6 r3is_digit(T3 C); +/*CHARACTER*/T1 r3value(T3 C); +/*CHARACTER*/T6 r3is_separator(T3 C); +/*CHARACTER*/T1 r3decimal_value(T3 C); +/*BOOLEAN*/T6 r6_ix_or(T6 C,T6 a1); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r290clear_all(T290 C,T2 a1); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/T290 r290realloc(T290 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r290copy_from(T290 C,T290 a1,T2 a2); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r289clear_all(T289 C,T2 a1); +/*NATIVE_ARRAY[JOB]*/void r288clear_all(T288 C,T2 a1); +/*NATIVE_ARRAY[JOB]*/void r288remove(T288 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[JOB]*/T288 r288realloc(T288 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[JOB]*/void r288copy_from(T288 C,T288 a1,T2 a2); +/*NATIVE_ARRAY[EVENT_CATCHER]*/void r287clear_all(T287 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r284clear_all(T284 C,T2 a1); +/*NATIVE_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r281clear_all(T281 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r276clear_all(T276 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r270clear_all(T270 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r267clear_all(T267 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r263clear_all(T263 C,T2 a1); +/*NATIVE_ARRAY[TOPLEVEL_WINDOW]*/void r262clear_all(T262 C,T2 a1); +/*NATIVE_ARRAY[KEY_RANGE]*/void r261clear_all(T261 C,T2 a1); +/*NATIVE_ARRAY[KEY_RANGE]*/T261 r261realloc(T261 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[KEY_RANGE]*/void r261copy_from(T261 C,T261 a1,T2 a2); +/*NATIVE_ARRAY[BUTTON_RANGE]*/void r260clear_all(T260 C,T2 a1); +/*NATIVE_ARRAY[BUTTON_RANGE]*/T260 r260realloc(T260 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[BUTTON_RANGE]*/void r260copy_from(T260 C,T260 a1,T2 a2); +/*NATIVE_ARRAY[AXES_RANGE]*/void r259clear_all(T259 C,T2 a1); +/*NATIVE_ARRAY[AXES_RANGE]*/T259 r259realloc(T259 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[AXES_RANGE]*/void r259copy_from(T259 C,T259 a1,T2 a2); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r257clear_all(T257 C,T2 a1); +/*NATIVE_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r255clear_all(T255 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r251clear_all(T251 C,T2 a1); +/*NATIVE_ARRAY[INTEGER_32]*/void r250set_slice_with(T250 C,T2 a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[INTEGER_32]*/void r250clear_all(T250 C,T2 a1); +/*NATIVE_ARRAY[INTEGER_32]*/void r250set_all_with(T250 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[INTEGER_32]*/T250 r250realloc(T250 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[INTEGER_32]*/void r250copy_from(T250 C,T250 a1,T2 a2); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r247clear_all(T247 C,T2 a1); +/*NATIVE_ARRAY[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r239clear_all(T239 C,T2 a1); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r238clear_all(T238 C,T2 a1); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r238clear(T238 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r238remove(T238 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/T238 r238realloc(T238 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/void r238copy_from(T238 C,T238 a1,T2 a2); +/*NATIVE_ARRAY[IVY_CLIENT]*/T2 r238fast_index_of(T238 C,T0* a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[LOOP_ITEM]*/void r237clear_all(T237 C,T2 a1); +/*NATIVE_ARRAY[LOOP_ITEM]*/T237 r237realloc(T237 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[LOOP_ITEM]*/void r237copy_from(T237 C,T237 a1,T2 a2); +/*NATIVE_ARRAY[X_INPUT_DEVICE]*/void r220clear_all(T220 C,T2 a1); +/*NATIVE_ARRAY[STRING]*/void r219clear_all(T219 C,T2 a1); +/*NATIVE_ARRAY[STRING]*/void r219clear(T219 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[STRING]*/T219 r219realloc(T219 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[STRING]*/void r219copy_from(T219 C,T219 a1,T2 a2); +/*NATIVE_ARRAY[CHARACTER]*/void r9clear_all(T9 C,T2 a1); +/*NATIVE_ARRAY[CHARACTER]*/T9 r9realloc(T9 C,T2 a1,T2 a2); +/*NATIVE_ARRAY[CHARACTER]*/void r9copy_from(T9 C,T9 a1,T2 a2); +/*NATIVE_ARRAY[CHARACTER]*/T2 r9fast_index_of(T9 C,T3 a1,T2 a2,T2 a3); +/*NATIVE_ARRAY[CHARACTER]*/void r9copy_at(T9 C,T2 a1,T9 a2,T2 a3); +/*NATIVE_ARRAY[CHARACTER]*/T6 r9fast_memcmp(T9 C,T9 a1,T2 a2); +T7*create7from_external(T8 a1); +/*STRING*/void r7put(T7* C,T3 a1,T2 a2); +/*STRING*/void r7remove_between(T7* C,T2 a1,T2 a2); +/*STRING*/T6 r7is_equal(T7* C,T0* a1); +/*STRING*/void r7append(T7* C,T0* a1); +/*STRING*/void r7copy(T7* C,T0* a1); +/*STRING*/T6 r7is_real(T7* C); +/*STRING*/T2 r7index_of(T7* C,T3 a1,T2 a2); +/*STRING*/T6 r7is_integer(T7* C); +/*STRING*/void r7remove_tail(T7* C,T2 a1); +/*STRING*/T0* r7twin(T7* C); +/*STRING*/void r7extend(T7* C,T3 a1); +/*STRING*/T2 r7hash_code(T7* C); +/*STRING*/void r7remove_last(T7* C); +/*STRING*/void r7add_last(T7* C,T3 a1); +/*STRING*/void r7ensure_capacity(T7* C,T2 a1); +/*STRING*/void r7from_external_copy(T7* C,T8 a1); +/*STRING*/void r7from_external(T7* C,T8 a1); +/*STRING*/T8 r7to_external(T7* C); +/*STRING*/T2 r7to_integer(T7* C); +/*STRING*/void r7remove_head(T7* C,T2 a1); +/*STRING*/void r7swap(T7* C,T2 a1,T2 a2); +/*STRING*/T2 r7first_index_of(T7* C,T3 a1); +/*STRING*/T5 r7to_real(T7* C); +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254make(T254* C,T2 a1); +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254add_last(T254* C,T0* a1); +/*FAST_ARRAY[PROCEDURE[TUPLE[X_INPUT_DEVICE]]]*/void r254mark_native_arrays(T254* C); +/*FAST_ARRAY[JOB]*/void r236remove(T236* C,T2 a1); +/*FAST_ARRAY[JOB]*/void r236make(T236* C,T2 a1); +/*FAST_ARRAY[JOB]*/void r236add_last(T236* C,T0* a1); +/*FAST_ARRAY[JOB]*/T6 r236is_empty(T236* C); +/*FAST_ARRAY[JOB]*/void r236mark_native_arrays(T236* C); +/*FAST_ARRAY[JOB]*/void r236add(T236* C,T0* a1,T2 a2); +/*FAST_ARRAY[JOB]*/void r236move(T236* C,T2 a1,T2 a2,T2 a3); +/*FAST_ARRAY[EVENT_CATCHER]*/void r235make(T235* C,T2 a1); +/*FAST_ARRAY[EVENT_CATCHER]*/void r235mark_native_arrays(T235* C); +/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r232make(T232* C,T2 a1); +/*FAST_ARRAY[DICTIONARY[SIGNAL_0,SENSITIVE]]*/void r232mark_native_arrays(T232* C); +/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r225make(T225* C,T2 a1); +/*FAST_ARRAY[TOPLEVEL_WINDOW]*/void r225mark_native_arrays(T225* C); +/*FAST_ARRAY[KEY_RANGE]*/void r223make(T223* C,T2 a1); +/*FAST_ARRAY[KEY_RANGE]*/void r223add_last(T223* C,T0* a1); +/*FAST_ARRAY[KEY_RANGE]*/void r223mark_native_arrays(T223* C); +/*FAST_ARRAY[BUTTON_RANGE]*/void r222make(T222* C,T2 a1); +/*FAST_ARRAY[BUTTON_RANGE]*/void r222add_last(T222* C,T0* a1); +/*FAST_ARRAY[BUTTON_RANGE]*/void r222mark_native_arrays(T222* C); +/*FAST_ARRAY[AXES_RANGE]*/void r221make(T221* C,T2 a1); +/*FAST_ARRAY[AXES_RANGE]*/void r221add_last(T221* C,T0* a1); +/*FAST_ARRAY[AXES_RANGE]*/void r221mark_native_arrays(T221* C); +/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r217make(T217* C,T2 a1); +/*FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]]*/void r217mark_native_arrays(T217* C); +/*FAST_ARRAY[INTEGER_32]*/void r214make(T214* C,T2 a1); +/*FAST_ARRAY[INTEGER_32]*/T2 r214count(T214* C); +/*FAST_ARRAY[IVY_CLIENT]*/void r207copy(T207* C,T0* a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r207remove(T207* C,T2 a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r207make(T207* C,T2 a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r207add_last(T207* C,T0* a1); +/*FAST_ARRAY[IVY_CLIENT]*/void r207mark_native_arrays(T207* C); +/*FAST_ARRAY[IVY_CLIENT]*/T2 r207fast_index_of(T207* C,T0* a1,T2 a2); +/*FAST_ARRAY[LOOP_ITEM]*/void r206remove_last(T206* C); +/*FAST_ARRAY[LOOP_ITEM]*/void r206make(T206* C,T2 a1); +/*FAST_ARRAY[LOOP_ITEM]*/void r206add_last(T206* C,T0* a1); +/*FAST_ARRAY[LOOP_ITEM]*/T0* r206last(T206* C); +/*FAST_ARRAY[LOOP_ITEM]*/T6 r206is_empty(T206* C); +/*FAST_ARRAY[LOOP_ITEM]*/void r206mark_native_arrays(T206* C); +/*FAST_ARRAY[X_INPUT_DEVICE]*/void r205make(T205* C,T2 a1); +/*FAST_ARRAY[X_INPUT_DEVICE]*/void r205mark_native_arrays(T205* C); +/*FAST_ARRAY[STRING]*/void r204make(T204* C,T2 a1); +/*FAST_ARRAY[STRING]*/void r204add_last(T204* C,T0* a1); +/*FAST_ARRAY[STRING]*/void r204with_capacity(T204* C,T2 a1); +/*FAST_ARRAY[STRING]*/void r204mark_native_arrays(T204* C); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_0,SENSITIVE]]*/void r286set_item(T286* C,T0* a1); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]]*/void r277set_item(T277* C,T0* a1); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]]*/void r271set_item(T271* C,T0* a1); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]]*/void r268set_item(T268* C,T0* a1); +/*HASHED_DICTIONARY_NODE[SENSITIVE,POINTER]*/void r266make(T266* C,T0* a1,T8 a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]]*/void r265set_item(T265* C,T0* a1); +/*HASHED_DICTIONARY_NODE[EXTENSION_DEVICE,INTEGER_32]*/void r264make(T264* C,T0* a1,T2 a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]]*/void r258set_item(T258* C,T0* a1); +/*HASHED_DICTIONARY_NODE[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r256make(T256* C,T0* a1,T0* a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]]*/void r253set_item(T253* C,T0* a1); +/*HASHED_DICTIONARY_NODE[INTEGER_32,INTEGER_32]*/void r252make(T252* C,T2 a1,T2 a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[POINTER,STRING]]*/void r249set_item(T249* C,T0* a1); +/*HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r246make(T246* C,T0* a1,T0* a2,T0* a3); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]]*/void r245set_item(T245* C,T0* a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r244prime_capacity(T2 a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T2 r244prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T6 r244should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r244new_node(T244* C,T0* a1,T0* a2,T0* a3); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244add(T244* C,T0* a1,T0* a2); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/T0* r244fast_reference_at(T244* C,T0* a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244special_common_dictionary(T244* C,T0* a1); +/*HASHED_DICTIONARY[WEAK_REFERENCE[ANY_HASHED_DICTIONARY_NODE],STRING]*/void r244increase_capacity(T244* C); +/*WEAK_REFERENCE[HASHED_DICTIONARY_NODE[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]]*/void r243set_item(T243* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r234make(T234* C); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234reference_at(T234* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T6 r234key_safe_equal(T0* a1,T0* a2); +extern T0*oBC136common_free_nodes; +extern int fBC136common_free_nodes; +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/T0* r234common_free_nodes(void); +/*HASHED_DICTIONARY[SIGNAL_0,SENSITIVE]*/void r234create_with_capacity(T234* C,T2 a1); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r230make(T230* C); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r230reference_at(T230* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r230key_safe_equal(T0* a1,T0* a2); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r230common_free_nodes(void); +/*HASHED_DICTIONARY[SIGNAL_2[INTEGER_32,INTEGER_32],SENSITIVE]*/void r230create_with_capacity(T230* C,T2 a1); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r228make(T228* C); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r228reference_at(T228* C,T0* a1); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T6 r228key_safe_equal(T0* a1,T0* a2); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/T0* r228common_free_nodes(void); +/*HASHED_DICTIONARY[SIGNAL_4[INTEGER_32,INTEGER_32,INTEGER_32,INTEGER_32],SENSITIVE]*/void r228create_with_capacity(T228* C,T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227make(T227* C); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r227prime_capacity(T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T2 r227prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r227should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227reference_at(T227* C,T8 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T6 r227key_safe_equal(T8 a1,T8 a2); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227common_free_nodes(void); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/T0* r227new_node(T227* C,T0* a1,T8 a2,T0* a3); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227add(T227* C,T0* a1,T8 a2); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227create_with_capacity(T227* C,T2 a1); +/*HASHED_DICTIONARY[SENSITIVE,POINTER]*/void r227increase_capacity(T227* C); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226put(T226* C,T0* a1,T2 a2); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226make(T226* C); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r226prime_capacity(T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T2 r226prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r226should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226reference_at(T226* C,T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T6 r226key_safe_equal(T2 a1,T2 a2); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226common_free_nodes(void); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/T0* r226new_node(T226* C,T0* a1,T2 a2,T0* a3); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226create_with_capacity(T226* C,T2 a1); +/*HASHED_DICTIONARY[EXTENSION_DEVICE,INTEGER_32]*/void r226increase_capacity(T226* C); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218make(T218* C); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r218prime_capacity(T2 a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T2 r218prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218reference_at(T218* C,T0* a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r218should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218common_free_nodes(void); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T6 r218key_safe_equal(T0* a1,T0* a2); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/T0* r218new_node(T218* C,T0* a1,T0* a2,T0* a3); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218add(T218* C,T0* a1,T0* a2); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218create_with_capacity(T218* C,T2 a1); +/*HASHED_DICTIONARY[FAST_ARRAY[SIGNAL_1[X_INPUT_DEVICE]],SENSITIVE]*/void r218increase_capacity(T218* C); +/*SIGNAL_1[X_INPUT_DEVICE]*/void r216make(T216* C); +/*SIGNAL_1[X_INPUT_DEVICE]*/void r216emit(T216* C,T0* a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215put(T215* C,T2 a1,T2 a2); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215make(T215* C); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215at(T215* C,T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_capacity(T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T2 r215prime_number_ceiling(T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r215should_increase_capacity(T2 a1,T2 a2); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T6 r215key_safe_equal(T2 a1,T2 a2); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r215common_free_nodes(void); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/T0* r215new_node(T215* C,T2 a1,T2 a2,T0* a3); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215create_with_capacity(T215* C,T2 a1); +/*HASHED_DICTIONARY[INTEGER_32,INTEGER_32]*/void r215increase_capacity(T215* C); +/*RING_ARRAY[INTEGER_32]*/void r213put(T213* C,T2 a1,T2 a2); +/*RING_ARRAY[INTEGER_32]*/void r213clear_all(T213* C); +/*RING_ARRAY[INTEGER_32]*/void r213set_all_with(T213* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/T2 r213wrap_point(T213* C); +/*RING_ARRAY[INTEGER_32]*/void r213make_space_for_one(T213* C); +/*RING_ARRAY[INTEGER_32]*/void r213squeeze_bubble(T213* C,T2 a1,T2 a2,T2 a3,T2 a4); +/*RING_ARRAY[INTEGER_32]*/T2 r213storage_upper(T213* C); +/*RING_ARRAY[INTEGER_32]*/T2 r213storage_index(T213* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/void r213make(T213* C,T2 a1,T2 a2); +/*RING_ARRAY[INTEGER_32]*/void r213add_last(T213* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/T2 r213count(T213* C); +/*RING_ARRAY[INTEGER_32]*/T6 r213is_empty(T213* C); +/*RING_ARRAY[INTEGER_32]*/T2 r213item(T213* C,T2 a1); +/*RING_ARRAY[INTEGER_32]*/void r213remove_first(T213* C); +/*RING_ARRAY[INTEGER_32]*/void r213move(T213* C,T2 a1,T2 a2,T2 a3); +/*HASHED_DICTIONARY[POINTER,STRING]*/void r211make(T211* C); +/*HASHED_DICTIONARY[POINTER,STRING]*/T0* r211common_free_nodes(void); +/*HASHED_DICTIONARY[POINTER,STRING]*/void r211create_with_capacity(T211* C,T2 a1); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r208make(T208* C); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/T0* r208common_free_nodes(void); +/*HASHED_DICTIONARY[PROCEDURE[TUPLE[FAST_ARRAY[STRING]]],STRING]*/void r208create_with_capacity(T208* C,T2 a1); +/*STREAM_EXCEPTION*/void r110expect(T110* C,T0* a1); +/*STREAM_EXCEPTION*/T6 r110occurred(T110* C,T0* a1); +/*STREAM_EXCEPTION*/void r110make(T110* C,T0* a1); +/*CAN_READ_DATA_FROM_STREAM*/void r120expect(T120* C,T0* a1); +/*CAN_READ_DATA_FROM_STREAM*/T6 r120occurred(T120* C,T0* a1); +/*CAN_READ_DATA_FROM_STREAM*/void r120make(T120* C,T0* a1); +/*TIME*/T6 r189_ix_60(T189* C,T189 a1); +/*TIME*/T5 r189elapsed_seconds(T189* C,T189 a1); +/*MICROSECOND_TIME*/T6 r176_ix_60(T176* C,T176 a1); +/*MICROSECOND_TIME*/T5 r176elapsed_seconds(T176* C,T176 a1); +/*MICROSECOND_TIME*/void r176update(T176* C); +/*EVENTS_SET*/void r147reset(T147* C); +/*EVENTS_SET*/void r147expect(T147* C,T0* a1); +/*EVENTS_SET*/void r147make(T147* C); +/*EVENTS_SET*/void r147when_data(T147* C,T0* a1); +/*EVENTS_SET*/T6 r147is_data(T147* C,T0* a1); +/*EVENTS_SET*/void r147when_exception(T147* C,T0* a1); +/*EVENTS_SET*/T6 r147event_occurred(T147* C,T0* a1); +/*EVENTS_SET*/T6 r147is_exception(T147* C,T0* a1); +/*EVENTS_SET*/void r147wait(T147* C); +/*ROOT_LAYOUT*/void r158set_container(T158* C,T0* a1); +/*STD_INPUT*/void r54make(T54* C); +/*STD_INPUT*/void r54dispose(T54* C); +/*KEY_RANGE*/void r139make(T139* C,T8 a1); +/*BUTTON_RANGE*/void r142make(T142* C,T8 a1); +/*AXES_RANGE*/void r141make(T141* C,T8 a1); +/*IVY_CLIENT*/T2 r146descriptor(T146* C); +/*IVY_CLIENT*/T0* r146event_can_read(T146* C); +/*IVY_CLIENT*/void r146make(T146* C,T2 a1,T8 a2,T8 a3,T8 a4); +/*IVY_CLIENT*/void r146process_incomming_data(T146* C); +/*IVY_CLIENT*/void r146disconnect(T146* C); +/*IVY_CLIENT*/void r146dispose(T146* C); +/*IVY_CLIENT*/T0* r146event_exception(T146* C); +T148*create148make(void); +/*LOOP_ITEM*/void r148add_job(T148* C,T0* a1); +/*LOOP_ITEM*/void r148run(T148* C); +/*LOOP_ITEM*/void r148make(T148* C); +/*GRAPHIC_CONNECTION*/T0* r131event_can_read(T131* C); +/*GRAPHIC_CONNECTION*/void r131set_descriptor(T131* C,T2 a1); +/*GRAPHIC_CONNECTION*/T2 r131filtered_descriptor(T131* C); +/*GRAPHIC_CONNECTION*/void r131dispose(T131* C); +/*VISION_LOOP_STACK*/T0* r130current_loop(T130* C); +/*VISION_LOOP_STACK*/void r130add_job(T130* C,T0* a1); +/*VISION_LOOP_STACK*/void r130run(T130* C); +/*VISION_LOOP_STACK*/void r130make(T130* C); +/*VISION_LOOP_STACK*/void r130_P_129_make(T130* C); +/*EVENT_CATCHER*/void r128add_extension(T128* C,T0* a1); +/*EVENT_CATCHER*/T0* r128search_widget(T128* C,T8 a1); +/*EVENT_CATCHER*/void r128prepare(T128* C,T0* a1); +/*EVENT_CATCHER*/void r128emit_event(T128* C,T0* a1,T2 a2); +/*EVENT_CATCHER*/T6 r128is_ready(T128* C,T0* a1); +/*EVENT_CATCHER*/void r128continue(T128* C); +extern T0*oBC26vision; +extern int fBC26vision; +/*EVENT_CATCHER*/T0* r128vision(void); +extern T0*oBC13io; +/*EVENT_CATCHER*/void r128make(T128* C,T0* a1); +/*ROOT_WINDOW*/void r72default_create(T72* C); +/*ROOT_WINDOW*/T0* r72vision(void); +/*ROOT_WINDOW*/T2 r72hash_code(T72* C); +/*ROOT_WINDOW*/void r72container_init(T72* C); +/*STD_OUTPUT*/void r53filtered_flush(T53* C); +/*STD_OUTPUT*/void r53filtered_put_character(T53* C,T3 a1); +extern T0*oBC13std_output; +extern int fBC13std_output; +/*STD_OUTPUT*/T0* r53std_output(void); +/*STD_OUTPUT*/void r53se_atexit(void); +/*STD_OUTPUT*/void r53make(T53* C); +/*STD_OUTPUT*/void r53write_buffer(T53* C); +/*STD_OUTPUT*/void r53flush(T53* C); +/*STD_OUTPUT*/void r53put_string(T53* C,T0* a1); +/*STD_OUTPUT*/void r53put_line(T53* C,T0* a1); +/*STD_OUTPUT*/void r53dispose(T53* C); +extern T0*oBC13std_input; +extern int fBC13std_input; +/*STD_INPUT_OUTPUT*/T0* r46std_input(void); +/*STD_INPUT_OUTPUT*/T0* r46std_output(void); +/*STD_INPUT_OUTPUT*/void r46disconnect(void); +/*STD_INPUT_OUTPUT*/T6 r46is_connected(void); +/*STD_INPUT_OUTPUT*/void r46put_string(T0* a1); +/*STD_INPUT_OUTPUT*/void r46dispose(void); +/*X_INPUT_EXTENSION*/void r175make(T175* C); +/*X11*/void r143default_create(void); +extern T0*oBC143x_input_extension; +extern int fBC143x_input_extension; +/*X11*/T0* r143x_input_extension(void); +/*X11*/T6 r143has_x_input_extension(void); +/*X11*/T0* r143get_atom_name(T2 a1); +/*X11*/T0* r143vision(void); +/*X_INPUT_DEVICE*/void r67handle_event(T67* C,T2 a1,T0* a2); +/*X_INPUT_DEVICE*/T0* r67vision(void); +/*X_INPUT_DEVICE*/void r67when_proximity_out(T67* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/void r67connect(T67* C); +/*X_INPUT_DEVICE*/void r67when_button_released(T67* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/void r67when_event(T67* C,T2 a1,T0* a2,T0* a3); +/*X_INPUT_DEVICE*/void r67make(T67* C,T8 a1,T2 a2); +/*X_INPUT_DEVICE*/void r67when_moved(T67* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/T2 r67proximity_axis_data(T2 a1); +/*X_INPUT_DEVICE*/void r67when_button_pressed(T67* C,T0* a1,T0* a2); +/*X_INPUT_DEVICE*/T2 r67motion_axis_data(T2 a1); +/*X_INPUT_DEVICE*/void r67when_proximity_in(T67* C,T0* a1,T0* a2); +/*STD_ERROR*/void r43put_string(T0* a1); +/*STD_ERROR*/void r43put_line(T0* a1); +/*STD_ERROR*/void r43dispose(T43* C); +/*WACOM_POINTER*/T0* r69type_to_name(T2 a1); +/*WACOM_POINTER*/T5 r69mean(T0* a1); +/*WACOM_POINTER*/void r69update_predicted_position(T69* C,T5 a1,T5 a2,T5 a3); +/*WACOM_POINTER*/T0* r69twin(T69* C); +/*WACOM_POINTER*/void r69make(T69* C,T0* a1); +/*WACOM_POINTER*/void r69print_data_in(T69* C,T0* a1,T2 a2,T2 a3,T2 a4,T2 a5,T2 a6,T2 a7,T2 a8,T0* a9); +/*WACOM_POINTER*/void r69set_message_header(T69* C,T0* a1); +/*WACOM_POINTER*/void r69button(T69* C,T6 a1,T0* a2); +/*WACOM_POINTER*/void r69proximity(T69* C,T6 a1,T0* a2); +/*WACOM_POINTER*/T2 r69device_to_screen_y(T69* C,T2 a1); +/*WACOM_POINTER*/T2 r69device_to_screen_x(T69* C,T2 a1); +/*WACOM_POINTER*/void r69move(T69* C,T0* a1); +/*IVY*/void r70prepare(T70* C,T0* a1); +/*IVY*/T6 r70is_ready(T70* C,T0* a1); +/*IVY*/void r70continue(T70* C); +/*IVY*/void r70channel_down(T70* C,T0* a1); +/*IVY*/void r70callback_runner(T0* a1,T2 a2,T212 a3); +/*IVY*/T0* r70channel_up(T70* C,T2 a1,T8 a2,T8 a3,T8 a4); +/*IVY*/void r70send_message(T70* C,T0* a1); +/*IVY*/void r70make(T70* C,T0* a1); +/*IVY*/void r70start(T70* C,T0* a1); +extern T0*oBC64root_window; +extern int fBC64root_window; +/*VISION*/T0* r64root_window(void); +extern T0*oBC13std_error; +/*VISION*/void r64crash(T64* C); +/*VISION*/void r64not_yet_implemented(T64* C); +/*VISION*/void r64start(T64* C); +/*VISION*/void r64register(T64* C,T0* a1); +/*VISION*/void r64graphic_init(T64* C); +typedef struct _se_agenT25C25l194c40 se_agenT25C25l194c40; +struct _se_agenT25C25l194c40{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l194c40*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l194c40*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T6 c1;}; +typedef struct _se_agent_eqC69C6_r69proximity se_agent_eqC69C6_r69proximity; +struct _se_agent_eqC69C6_r69proximity{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;T6 c1;}; +/*agent creation*/T0*agenT25C25l194c40(T0* c0,T6 c1); +void gc_mark_agenT25C25l194c40(se_agenT25C25l194c40*u); +/*agent equality*/int eq_agent_eqC69C6_r69proximity(se_agent*u1, se_agent*u2); +typedef struct _se_agenT25C25l193c39 se_agenT25C25l193c39; +struct _se_agenT25C25l193c39{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l193c39*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l193c39*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T6 c1;}; +/*agent creation*/T0*agenT25C25l193c39(T0* c0,T6 c1); +void gc_mark_agenT25C25l193c39(se_agenT25C25l193c39*u); +typedef struct _se_agenT25C25l192c42 se_agenT25C25l192c42; +struct _se_agenT25C25l192c42{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l192c42*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l192c42*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T6 c1;}; +typedef struct _se_agent_eqC69C6_r69button se_agent_eqC69C6_r69button; +struct _se_agent_eqC69C6_r69button{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;T6 c1;}; +/*agent creation*/T0*agenT25C25l192c42(T0* c0,T6 c1); +void gc_mark_agenT25C25l192c42(se_agenT25C25l192c42*u); +/*agent equality*/int eq_agent_eqC69C6_r69button(se_agent*u1, se_agent*u2); +typedef struct _se_agenT25C25l191c41 se_agenT25C25l191c41; +struct _se_agenT25C25l191c41{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l191c41*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l191c41*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T6 c1;}; +/*agent creation*/T0*agenT25C25l191c41(T0* c0,T6 c1); +void gc_mark_agenT25C25l191c41(se_agenT25C25l191c41*u); +typedef struct _se_agenT25C25l190c32 se_agenT25C25l190c32; +struct _se_agenT25C25l190c32{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l190c32*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l190c32*); +int (*eq)(se_agent*,se_agent*); +T0* c0;}; +typedef struct _se_agent_eqC69_r69move se_agent_eqC69_r69move; +struct _se_agent_eqC69_r69move{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;}; +/*agent creation*/T0*agenT25C25l190c32(T0* c0); +void gc_mark_agenT25C25l190c32(se_agenT25C25l190c32*u); +/*agent equality*/int eq_agent_eqC69_r69move(se_agent*u1, se_agent*u2); +typedef struct _se_agenT25C25l173c38 se_agenT25C25l173c38; +struct _se_agenT25C25l173c38{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l173c38*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l173c38*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T0* c1;}; +typedef struct _se_agent_eqC25C7_r25pad_button_released se_agent_eqC25C7_r25pad_button_released; +struct _se_agent_eqC25C7_r25pad_button_released{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;T0* c1;}; +/*agent creation*/T0*agenT25C25l173c38(T0* c0,T0* c1); +void gc_mark_agenT25C25l173c38(se_agenT25C25l173c38*u); +/*agent equality*/int eq_agent_eqC25C7_r25pad_button_released(se_agent*u1, se_agent*u2); +typedef struct _se_agenT25C25l172c37 se_agenT25C25l172c37; +struct _se_agenT25C25l172c37{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l172c37*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l172c37*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T0* c1;}; +typedef struct _se_agent_eqC25C7_r25pad_button_pressed se_agent_eqC25C7_r25pad_button_pressed; +struct _se_agent_eqC25C7_r25pad_button_pressed{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;T0* c1;}; +/*agent creation*/T0*agenT25C25l172c37(T0* c0,T0* c1); +void gc_mark_agenT25C25l172c37(se_agenT25C25l172c37*u); +/*agent equality*/int eq_agent_eqC25C7_r25pad_button_pressed(se_agent*u1, se_agent*u2); +typedef struct _se_agenT25C25l167c36 se_agenT25C25l167c36; +struct _se_agenT25C25l167c36{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l167c36*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l167c36*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T0* c1;}; +typedef struct _se_agent_eqC25C7_r25left_slider_out se_agent_eqC25C7_r25left_slider_out; +struct _se_agent_eqC25C7_r25left_slider_out{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;T0* c1;}; +/*agent creation*/T0*agenT25C25l167c36(T0* c0,T0* c1); +void gc_mark_agenT25C25l167c36(se_agenT25C25l167c36*u); +/*agent equality*/int eq_agent_eqC25C7_r25left_slider_out(se_agent*u1, se_agent*u2); +typedef struct _se_agenT25C25l166c28 se_agenT25C25l166c28; +struct _se_agenT25C25l166c28{Tid id; +int creation_mold_id; +void(*afp)(se_agenT25C25l166c28*,T0*); +void(*gc_mark_agent_mold)(se_agenT25C25l166c28*); +int (*eq)(se_agent*,se_agent*); +T0* c0;T0* c1;}; +typedef struct _se_agent_eqC25C7_r25slider_event se_agent_eqC25C7_r25slider_event; +struct _se_agent_eqC25C7_r25slider_event{Tid id; +int creation_mold_id; +void*afp; +void*gc_mark_agent_mold; +void*eq; +T0* c0;T0* c1;}; +/*agent creation*/T0*agenT25C25l166c28(T0* c0,T0* c1); +void gc_mark_agenT25C25l166c28(se_agenT25C25l166c28*u); +/*agent equality*/int eq_agent_eqC25C7_r25slider_event(se_agent*u1, se_agent*u2); +/*XINPUT_IVY*/T0* r25std_output(void); +/*XINPUT_IVY*/T0* r25vision(void); +/*XINPUT_IVY*/T6 r25decode_options(T25* C); +/*XINPUT_IVY*/void r25list_devices(T25* C); +/*XINPUT_IVY*/void r25print_help(void); +/*XINPUT_IVY*/T6 r25init_pad(T25* C,T0* a1); +/*XINPUT_IVY*/void r25left_slider_out(T25* C,T0* a1,T0* a2); +/*XINPUT_IVY*/void r25pad_button_pressed(T25* C,T0* a1,T0* a2); +/*XINPUT_IVY*/void r25pad_button_released(T25* C,T0* a1,T0* a2); +/*XINPUT_IVY*/T2 r25argument_count(void); +/*XINPUT_IVY*/void r25make(T25* C); +/*XINPUT_IVY*/T0* r25subscribe_input(T25* C,T0* a1); +/*XINPUT_IVY*/T6 r25init_wacom_pointer(T25* C,T0* a1,T0* a2); +/*XINPUT_IVY*/void r25slider_event(T25* C,T0* a1,T0* a2); +extern T0*oBC30command_arguments; +extern int fBC30command_arguments; +/*XINPUT_IVY*/T0* r25command_arguments(void); +void agent_launcher(/*agent*/T0*a); +void agent_launcher_FAST_ARRAY__STRING__(/*agent*/T0*a,T0* a1); +void agent_launcher_INTEGER_32_INTEGER_32(/*agent*/T0*a,T2 a1,T2 a2); +void agent_launcher_INTEGER_32_INTEGER_32_INTEGER_32_INTEGER_32(/*agent*/T0*a,T2 a1,T2 a2,T2 a3,T2 a4); +void agent_launcher_X_INPUT_DEVICE(/*agent*/T0*a,T0* a1); +union _se_agent{T0 s0;se_agent0 u0; +se_agenT25C25l166c28 uagenT25C25l166c28; +se_agenT25C25l167c36 uagenT25C25l167c36; +se_agenT25C25l172c37 uagenT25C25l172c37; +se_agenT25C25l173c38 uagenT25C25l173c38; +se_agenT25C25l190c32 uagenT25C25l190c32; +se_agenT25C25l191c41 uagenT25C25l191c41; +se_agenT25C25l192c42 uagenT25C25l192c42; +se_agenT25C25l193c39 uagenT25C25l193c39; +se_agenT25C25l194c40 uagenT25C25l194c40; +}; +/* +-- ------------------------------------------------------------------------------------------------------------ +-- Copyright notice below. Please read. +-- +-- Copyright(C) 1994-2002: INRIA - LORIA (INRIA Lorraine) - ESIAL U.H.P. - University of Nancy 1 - FRANCE +-- Copyright(C) 2003-2005: INRIA - LORIA (INRIA Lorraine) - I.U.T. Charlemagne - University of Nancy 2 - FRANCE +-- +-- Authors: Dominique COLNET, Philippe RIBET, Cyril ADRIAN, Vincent CROIZIER, Frederic MERIZEN +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +-- documentation files (the "Software"), to deal in the Software without restriction, including without +-- limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +-- the Software, and to permit persons to whom the Software is furnished to do so, subject to the following +-- conditions: +-- +-- The above copyright notice and this permission notice shall be included in all copies or substantial +-- portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +-- LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +-- EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +-- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +-- OR OTHER DEALINGS IN THE SOFTWARE. +-- +-- http://SmartEiffel.loria.fr - SmartEiffel@loria.fr +-- ------------------------------------------------------------------------------------------------------------ +*/ +#define SE_AGENTS 1 +#define EIF_AGENT se_agent* + +se_agent* new_agent(Tid id); + +#ifdef SE_GC_LIB + + typedef struct B_agent gc_agent; + + struct B_agent { + se_agent object; + union { + void *flag; + gc_agent *next; + } header; + }; + + extern gc_agent *store_agent; + extern gc_agent *gc_free_agent; + extern int store_left_agent; + extern fsoc *store_chunk_agent; + extern fsoc H_agent; + extern int gc_info_nb_agent; + + void gc_align_mark_agent(fsoc *c, gc_agent* a); + void gc_sweep_agent(fsoc *c); + +#endif +extern T0*ms69_1874520032; +extern T0*ms25_0bc25c15l360; +extern T0*ms69_22702416; +extern T0*ms69_22702411; +extern T0*ms69_190991; +extern T0*ms143_1472358418; +extern T0*ms69_15980; +extern T0*ms25_0bc25; +extern T0*ms69_188916; +extern T0*ms25_0bc69; +extern T0*ms25_0bc69c15l93; +extern T0*ms69_1501987274; +extern T0*ms25_1403610646; +extern T0*ms25_0; +extern T0*ms69_10739030; +extern T0*ms69_10739024; +extern T0*ms69_10739017; +extern T0*ms25_1959886733; +extern T0*ms25_0bc25c15; +extern T0*ms25_3479972; +extern T0*ms25_21190322; +extern T0*ms69_1756148648; +extern T0*ms69_1756148653; +extern T0*ms69_1619665677; +extern T0*ms69_104371129; +extern T0*ms69_104371267; +extern T0*ms25_314746909; +extern T0*ms25_1638797568; +extern T0*ms69_1961093439; +extern T0*ms69_1699147265; +extern T0*ms69_23436791; +extern T0*ms25_4487261bc69; +extern T0*ms25_694149733; +extern T0*ms69_4738061; +extern T0*ms69_2112369621; +extern T0*ms25_557679246; +extern T0*ms69_1940108584; +extern T0*ms69_952626; +extern T0*ms69_1461; +extern T0*ms69_1466; +extern T0*ms69_4725666; +extern T0*ms69_4725661; +extern T0*ms69_56246305; +extern T0*ms69_2676; +extern T0*ms25_4487261; +extern T0*ms69_1257860908; +extern T0*ms69_56246305bc69; +extern T0*ms25_1403610646bc25; +extern T0*ms69_2057747851; +extern T0*ms25_0bc69c16; +extern T0*ms25_0bc69c15; +extern T0*ms69_586741066; +extern T0*ms25_946366; +extern T0*ms69_475; +extern T0*ms69_697; +T0*se_ms(int c,char*e); +T0*se_string(char*e); +void se_msi1(void); +void se_msi2(void); +void W70callback_runner(void* C,void* a1,T2 a2,T212 a3); +void manifest_string_mark1(void); +void once_function_mark(void); +void gc_start(void); +typedef struct B110 gc110; +struct B110{T110 object;union {void*flag;gc110*next;} header;}; +extern gc110*store110; +extern int store_left110; +extern fsoc*store_chunk110; +extern gc110*gc_free110; +typedef struct B120 gc120; +struct B120{T120 object;union {void*flag;gc120*next;} header;}; +extern gc120*store120; +extern int store_left120; +extern fsoc*store_chunk120; +extern gc120*gc_free120; +extern na_env na_env293; +extern na_env na_env292; +extern na_env na_env291; +extern na_env na_env290; +extern na_env na_env289; +extern na_env na_env288; +extern na_env na_env287; +typedef struct B286 gc286; +struct B286{T286 object;union {void*flag;gc286*next;} header;}; +extern gc286*store286; +extern int store_left286; +extern fsoc*store_chunk286; +extern gc286*gc_free286; +extern na_env na_env284; +extern na_env na_env281; +typedef struct B277 gc277; +struct B277{T277 object;union {void*flag;gc277*next;} header;}; +extern gc277*store277; +extern int store_left277; +extern fsoc*store_chunk277; +extern gc277*gc_free277; +extern na_env na_env276; +typedef struct B271 gc271; +struct B271{T271 object;union {void*flag;gc271*next;} header;}; +extern gc271*store271; +extern int store_left271; +extern fsoc*store_chunk271; +extern gc271*gc_free271; +extern na_env na_env270; +typedef struct B268 gc268; +struct B268{T268 object;union {void*flag;gc268*next;} header;}; +extern gc268*store268; +extern int store_left268; +extern fsoc*store_chunk268; +extern gc268*gc_free268; +extern na_env na_env267; +typedef struct B266 gc266; +struct B266{T266 object;union {void*flag;gc266*next;} header;}; +extern gc266*store266; +extern int store_left266; +extern fsoc*store_chunk266; +extern gc266*gc_free266; +typedef struct B265 gc265; +struct B265{T265 object;union {void*flag;gc265*next;} header;}; +extern gc265*store265; +extern int store_left265; +extern fsoc*store_chunk265; +extern gc265*gc_free265; +typedef struct B264 gc264; +struct B264{T264 object;union {void*flag;gc264*next;} header;}; +extern gc264*store264; +extern int store_left264; +extern fsoc*store_chunk264; +extern gc264*gc_free264; +extern na_env na_env263; +extern na_env na_env262; +extern na_env na_env261; +extern na_env na_env260; +extern na_env na_env259; +typedef struct B258 gc258; +struct B258{T258 object;union {void*flag;gc258*next;} header;}; +extern gc258*store258; +extern int store_left258; +extern fsoc*store_chunk258; +extern gc258*gc_free258; +extern na_env na_env257; +typedef struct B256 gc256; +struct B256{T256 object;union {void*flag;gc256*next;} header;}; +extern gc256*store256; +extern int store_left256; +extern fsoc*store_chunk256; +extern gc256*gc_free256; +extern na_env na_env255; +typedef struct B254 gc254; +struct B254{T254 object;union {void*flag;gc254*next;} header;}; +extern gc254*store254; +extern int store_left254; +extern fsoc*store_chunk254; +extern gc254*gc_free254; +typedef struct B253 gc253; +struct B253{T253 object;union {void*flag;gc253*next;} header;}; +extern gc253*store253; +extern int store_left253; +extern fsoc*store_chunk253; +extern gc253*gc_free253; +typedef struct B252 gc252; +struct B252{T252 object;union {void*flag;gc252*next;} header;}; +extern gc252*store252; +extern int store_left252; +extern fsoc*store_chunk252; +extern gc252*gc_free252; +extern na_env na_env251; +extern na_env na_env250; +typedef struct B249 gc249; +struct B249{T249 object;union {void*flag;gc249*next;} header;}; +extern gc249*store249; +extern int store_left249; +extern fsoc*store_chunk249; +extern gc249*gc_free249; +extern na_env na_env247; +typedef struct B246 gc246; +struct B246{T246 object;union {void*flag;gc246*next;} header;}; +extern gc246*store246; +extern int store_left246; +extern fsoc*store_chunk246; +extern gc246*gc_free246; +typedef struct B245 gc245; +struct B245{T245 object;union {void*flag;gc245*next;} header;}; +extern gc245*store245; +extern int store_left245; +extern fsoc*store_chunk245; +extern gc245*gc_free245; +typedef struct B244 gc244; +struct B244{T244 object;union {void*flag;gc244*next;} header;}; +extern gc244*store244; +extern int store_left244; +extern fsoc*store_chunk244; +extern gc244*gc_free244; +typedef struct B243 gc243; +struct B243{T243 object;union {void*flag;gc243*next;} header;}; +extern gc243*store243; +extern int store_left243; +extern fsoc*store_chunk243; +extern gc243*gc_free243; +extern na_env na_env239; +extern na_env na_env238; +extern na_env na_env237; +typedef struct B147 gc147; +struct B147{T147 object;union {void*flag;gc147*next;} header;}; +extern gc147*store147; +extern int store_left147; +extern fsoc*store_chunk147; +extern gc147*gc_free147; +typedef struct B236 gc236; +struct B236{T236 object;union {void*flag;gc236*next;} header;}; +extern gc236*store236; +extern int store_left236; +extern fsoc*store_chunk236; +extern gc236*gc_free236; +typedef struct B235 gc235; +struct B235{T235 object;union {void*flag;gc235*next;} header;}; +extern gc235*store235; +extern int store_left235; +extern fsoc*store_chunk235; +extern gc235*gc_free235; +typedef struct B234 gc234; +struct B234{T234 object;union {void*flag;gc234*next;} header;}; +extern gc234*store234; +extern int store_left234; +extern fsoc*store_chunk234; +extern gc234*gc_free234; +typedef struct B232 gc232; +struct B232{T232 object;union {void*flag;gc232*next;} header;}; +extern gc232*store232; +extern int store_left232; +extern fsoc*store_chunk232; +extern gc232*gc_free232; +typedef struct B230 gc230; +struct B230{T230 object;union {void*flag;gc230*next;} header;}; +extern gc230*store230; +extern int store_left230; +extern fsoc*store_chunk230; +extern gc230*gc_free230; +typedef struct B228 gc228; +struct B228{T228 object;union {void*flag;gc228*next;} header;}; +extern gc228*store228; +extern int store_left228; +extern fsoc*store_chunk228; +extern gc228*gc_free228; +typedef struct B227 gc227; +struct B227{T227 object;union {void*flag;gc227*next;} header;}; +extern gc227*store227; +extern int store_left227; +extern fsoc*store_chunk227; +extern gc227*gc_free227; +typedef struct B226 gc226; +struct B226{T226 object;union {void*flag;gc226*next;} header;}; +extern gc226*store226; +extern int store_left226; +extern fsoc*store_chunk226; +extern gc226*gc_free226; +typedef struct B225 gc225; +struct B225{T225 object;union {void*flag;gc225*next;} header;}; +extern gc225*store225; +extern int store_left225; +extern fsoc*store_chunk225; +extern gc225*gc_free225; +typedef struct B158 gc158; +struct B158{T158 object;union {void*flag;gc158*next;} header;}; +extern gc158*store158; +extern int store_left158; +extern fsoc*store_chunk158; +extern gc158*gc_free158; +typedef struct B54 gc54; +struct B54{T54 object;union {void*flag;gc54*next;} header;}; +extern gc54*store54; +extern int store_left54; +extern fsoc*store_chunk54; +extern gc54*gc_free54; +typedef struct B139 gc139; +struct B139{T139 object;union {void*flag;gc139*next;} header;}; +extern gc139*store139; +extern int store_left139; +extern fsoc*store_chunk139; +extern gc139*gc_free139; +typedef struct B223 gc223; +struct B223{T223 object;union {void*flag;gc223*next;} header;}; +extern gc223*store223; +extern int store_left223; +extern fsoc*store_chunk223; +extern gc223*gc_free223; +typedef struct B142 gc142; +struct B142{T142 object;union {void*flag;gc142*next;} header;}; +extern gc142*store142; +extern int store_left142; +extern fsoc*store_chunk142; +extern gc142*gc_free142; +typedef struct B222 gc222; +struct B222{T222 object;union {void*flag;gc222*next;} header;}; +extern gc222*store222; +extern int store_left222; +extern fsoc*store_chunk222; +extern gc222*gc_free222; +typedef struct B141 gc141; +struct B141{T141 object;union {void*flag;gc141*next;} header;}; +extern gc141*store141; +extern int store_left141; +extern fsoc*store_chunk141; +extern gc141*gc_free141; +typedef struct B221 gc221; +struct B221{T221 object;union {void*flag;gc221*next;} header;}; +extern gc221*store221; +extern int store_left221; +extern fsoc*store_chunk221; +extern gc221*gc_free221; +extern na_env na_env220; +extern na_env na_env219; +typedef struct B218 gc218; +struct B218{T218 object;union {void*flag;gc218*next;} header;}; +extern gc218*store218; +extern int store_left218; +extern fsoc*store_chunk218; +extern gc218*gc_free218; +typedef struct B217 gc217; +struct B217{T217 object;union {void*flag;gc217*next;} header;}; +extern gc217*store217; +extern int store_left217; +extern fsoc*store_chunk217; +extern gc217*gc_free217; +typedef struct B216 gc216; +struct B216{T216 object;union {void*flag;gc216*next;} header;}; +extern gc216*store216; +extern int store_left216; +extern fsoc*store_chunk216; +extern gc216*gc_free216; +typedef struct B215 gc215; +struct B215{T215 object;union {void*flag;gc215*next;} header;}; +extern gc215*store215; +extern int store_left215; +extern fsoc*store_chunk215; +extern gc215*gc_free215; +typedef struct B214 gc214; +struct B214{T214 object;union {void*flag;gc214*next;} header;}; +extern gc214*store214; +extern int store_left214; +extern fsoc*store_chunk214; +extern gc214*gc_free214; +typedef struct B213 gc213; +struct B213{T213 object;union {void*flag;gc213*next;} header;}; +extern gc213*store213; +extern int store_left213; +extern fsoc*store_chunk213; +extern gc213*gc_free213; +extern na_env na_env212; +typedef struct B211 gc211; +struct B211{T211 object;union {void*flag;gc211*next;} header;}; +extern gc211*store211; +extern int store_left211; +extern fsoc*store_chunk211; +extern gc211*gc_free211; +typedef struct B208 gc208; +struct B208{T208 object;union {void*flag;gc208*next;} header;}; +extern gc208*store208; +extern int store_left208; +extern fsoc*store_chunk208; +extern gc208*gc_free208; +typedef struct B146 gc146; +struct B146{T146 object;union {void*flag;gc146*next;} header;}; +extern gc146*store146; +extern int store_left146; +extern fsoc*store_chunk146; +extern gc146*gc_free146; +typedef struct B207 gc207; +struct B207{T207 object;union {void*flag;gc207*next;} header;}; +extern gc207*store207; +extern int store_left207; +extern fsoc*store_chunk207; +extern gc207*gc_free207; +typedef struct B206 gc206; +struct B206{T206 object;union {void*flag;gc206*next;} header;}; +extern gc206*store206; +extern int store_left206; +extern fsoc*store_chunk206; +extern gc206*gc_free206; +typedef struct B148 gc148; +struct B148{T148 object;union {void*flag;gc148*next;} header;}; +extern gc148*store148; +extern int store_left148; +extern fsoc*store_chunk148; +extern gc148*gc_free148; +typedef struct B131 gc131; +struct B131{T131 object;union {void*flag;gc131*next;} header;}; +extern gc131*store131; +extern int store_left131; +extern fsoc*store_chunk131; +extern gc131*gc_free131; +typedef struct B130 gc130; +struct B130{T130 object;union {void*flag;gc130*next;} header;}; +extern gc130*store130; +extern int store_left130; +extern fsoc*store_chunk130; +extern gc130*gc_free130; +typedef struct B128 gc128; +struct B128{T128 object;union {void*flag;gc128*next;} header;}; +extern gc128*store128; +extern int store_left128; +extern fsoc*store_chunk128; +extern gc128*gc_free128; +typedef struct B72 gc72; +struct B72{T72 object;union {void*flag;gc72*next;} header;}; +extern gc72*store72; +extern int store_left72; +extern fsoc*store_chunk72; +extern gc72*gc_free72; +typedef struct B53 gc53; +struct B53{T53 object;union {void*flag;gc53*next;} header;}; +extern gc53*store53; +extern int store_left53; +extern fsoc*store_chunk53; +extern gc53*gc_free53; +typedef struct B46 gc46; +struct B46{T46 object;union {void*flag;gc46*next;} header;}; +extern gc46*store46; +extern int store_left46; +extern fsoc*store_chunk46; +extern gc46*gc_free46; +typedef struct B175 gc175; +struct B175{T175 object;union {void*flag;gc175*next;} header;}; +extern gc175*store175; +extern int store_left175; +extern fsoc*store_chunk175; +extern gc175*gc_free175; +typedef struct B205 gc205; +struct B205{T205 object;union {void*flag;gc205*next;} header;}; +extern gc205*store205; +extern int store_left205; +extern fsoc*store_chunk205; +extern gc205*gc_free205; +typedef struct B204 gc204; +struct B204{T204 object;union {void*flag;gc204*next;} header;}; +extern gc204*store204; +extern int store_left204; +extern fsoc*store_chunk204; +extern gc204*gc_free204; + +#define gc_mark202(x) (((se_agent0*)(x))->gc_mark_agent_mold((se_agent*)(x))) + +typedef struct B67 gc67; +struct B67{T67 object;union {void*flag;gc67*next;} header;}; +extern gc67*store67; +extern int store_left67; +extern fsoc*store_chunk67; +extern gc67*gc_free67; +typedef struct B43 gc43; +struct B43{T43 object;union {void*flag;gc43*next;} header;}; +extern gc43*store43; +extern int store_left43; +extern fsoc*store_chunk43; +extern gc43*gc_free43; +typedef struct B69 gc69; +struct B69{T69 object;union {void*flag;gc69*next;} header;}; +extern gc69*store69; +extern int store_left69; +extern fsoc*store_chunk69; +extern gc69*gc_free69; +extern na_env na_env9; +typedef struct B7 gc7; +struct B7{T7 object;union {void*flag;gc7*next;} header;}; +extern gc7*store7; +extern int store_left7; +extern fsoc*store_chunk7; +extern gc7*gc_free7; +typedef struct B70 gc70; +struct B70{T70 object;union {void*flag;gc70*next;} header;}; +extern gc70*store70; +extern int store_left70; +extern fsoc*store_chunk70; +extern gc70*gc_free70; +typedef struct B64 gc64; +struct B64{T64 object;union {void*flag;gc64*next;} header;}; +extern gc64*store64; +extern int store_left64; +extern fsoc*store_chunk64; +extern gc64*gc_free64; +typedef struct B25 gc25; +struct B25{T25 object;union {void*flag;gc25*next;} header;}; +extern gc25*store25; +extern int store_left25; +extern fsoc*store_chunk25; +extern gc25*gc_free25; +void gc_sweep110(fsoc*c); +void gc_mark110(T110*o); +void gc_align_mark110(fsoc*c,gc110*p); +extern fsoc H110; +T110*new110(void); +void gc_sweep120(fsoc*c); +void gc_mark120(T120*o); +void gc_align_mark120(fsoc*c,gc120*p); +extern fsoc H120; +T120*new120(void); +void gc_mark293(T293 o); +T293 new293(unsigned int size); +void gc_mark292(T292 o); +T292 new292(unsigned int size); +void gc_mark291(T291 o); +T291 new291(unsigned int size); +void gc_mark290(T290 o); +T290 new290(unsigned int size); +void gc_mark289(T289 o); +T289 new289(unsigned int size); +void gc_mark288(T288 o); +T288 new288(unsigned int size); +void gc_mark287(T287 o); +T287 new287(unsigned int size); +void gc_sweep286(fsoc*c); +void gc_update_weak_ref_item_polymorph(T0** item); +void gc_mark286(T286*o); +void gc_align_mark286(fsoc*c,gc286*p); +extern fsoc H286; +T286*new286(void); +void gc_mark284(T284 o); +T284 new284(unsigned int size); +void gc_mark281(T281 o); +T281 new281(unsigned int size); +void gc_sweep277(fsoc*c); +void gc_mark277(T277*o); +void gc_align_mark277(fsoc*c,gc277*p); +extern fsoc H277; +T277*new277(void); +void gc_mark276(T276 o); +T276 new276(unsigned int size); +void gc_sweep271(fsoc*c); +void gc_mark271(T271*o); +void gc_align_mark271(fsoc*c,gc271*p); +extern fsoc H271; +T271*new271(void); +void gc_mark270(T270 o); +T270 new270(unsigned int size); +void gc_sweep268(fsoc*c); +void gc_update_weak_ref_item268(T268* wr); +void gc_mark268(T268*o); +void gc_align_mark268(fsoc*c,gc268*p); +extern fsoc H268; +T268*new268(void); +void gc_mark267(T267 o); +T267 new267(unsigned int size); +void gc_sweep266(fsoc*c); +void gc_mark266(T266*o); +void gc_align_mark266(fsoc*c,gc266*p); +extern fsoc H266; +T266*new266(void); +void gc_sweep265(fsoc*c); +void gc_update_weak_ref_item265(T265* wr); +void gc_mark265(T265*o); +void gc_align_mark265(fsoc*c,gc265*p); +extern fsoc H265; +T265*new265(void); +void gc_sweep264(fsoc*c); +void gc_mark264(T264*o); +void gc_align_mark264(fsoc*c,gc264*p); +extern fsoc H264; +T264*new264(void); +void gc_mark263(T263 o); +T263 new263(unsigned int size); +void gc_mark262(T262 o); +T262 new262(unsigned int size); +void gc_mark261(T261 o); +T261 new261(unsigned int size); +void gc_mark260(T260 o); +T260 new260(unsigned int size); +void gc_mark259(T259 o); +T259 new259(unsigned int size); +void gc_sweep258(fsoc*c); +void gc_update_weak_ref_item258(T258* wr); +void gc_mark258(T258*o); +void gc_align_mark258(fsoc*c,gc258*p); +extern fsoc H258; +T258*new258(void); +void gc_mark257(T257 o); +T257 new257(unsigned int size); +void gc_sweep256(fsoc*c); +void gc_mark256(T256*o); +void gc_align_mark256(fsoc*c,gc256*p); +extern fsoc H256; +T256*new256(void); +void gc_mark255(T255 o); +T255 new255(unsigned int size); +void gc_sweep254(fsoc*c); +void gc_mark254(T254*o); +void gc_align_mark254(fsoc*c,gc254*p); +extern fsoc H254; +T254*new254(void); +void gc_sweep253(fsoc*c); +void gc_update_weak_ref_item253(T253* wr); +void gc_mark253(T253*o); +void gc_align_mark253(fsoc*c,gc253*p); +extern fsoc H253; +T253*new253(void); +void gc_sweep252(fsoc*c); +void gc_mark252(T252*o); +void gc_align_mark252(fsoc*c,gc252*p); +extern fsoc H252; +T252*new252(void); +void gc_mark251(T251 o); +T251 new251(unsigned int size); +void gc_mark250(T250 o); +T250 new250(unsigned int size); +void gc_sweep249(fsoc*c); +void gc_mark249(T249*o); +void gc_align_mark249(fsoc*c,gc249*p); +extern fsoc H249; +T249*new249(void); +void gc_mark247(T247 o); +T247 new247(unsigned int size); +void gc_sweep246(fsoc*c); +void gc_mark246(T246*o); +void gc_align_mark246(fsoc*c,gc246*p); +extern fsoc H246; +T246*new246(void); +void gc_sweep245(fsoc*c); +void gc_update_weak_ref_item245(T245* wr); +void gc_mark245(T245*o); +void gc_align_mark245(fsoc*c,gc245*p); +extern fsoc H245; +T245*new245(void); +void gc_sweep244(fsoc*c); +void gc_mark244(T244*o); +void gc_align_mark244(fsoc*c,gc244*p); +extern fsoc H244; +T244*new244(void); +void gc_sweep243(fsoc*c); +void gc_mark243(T243*o); +void gc_align_mark243(fsoc*c,gc243*p); +extern fsoc H243; +T243*new243(void); +void gc_mark239(T239 o); +T239 new239(unsigned int size); +void gc_mark238(T238 o); +T238 new238(unsigned int size); +void gc_mark237(T237 o); +T237 new237(unsigned int size); +void gc_sweep147(fsoc*c); +void gc_mark147(T147*o); +void gc_align_mark147(fsoc*c,gc147*p); +extern fsoc H147; +T147*new147(void); +void gc_sweep236(fsoc*c); +void gc_mark236(T236*o); +void gc_align_mark236(fsoc*c,gc236*p); +extern fsoc H236; +T236*new236(void); +void gc_sweep235(fsoc*c); +void gc_mark235(T235*o); +void gc_align_mark235(fsoc*c,gc235*p); +extern fsoc H235; +T235*new235(void); +void gc_sweep234(fsoc*c); +void gc_mark234(T234*o); +void gc_align_mark234(fsoc*c,gc234*p); +extern fsoc H234; +T234*new234(void); +void gc_sweep232(fsoc*c); +void gc_mark232(T232*o); +void gc_align_mark232(fsoc*c,gc232*p); +extern fsoc H232; +T232*new232(void); +void gc_sweep230(fsoc*c); +void gc_mark230(T230*o); +void gc_align_mark230(fsoc*c,gc230*p); +extern fsoc H230; +T230*new230(void); +void gc_sweep228(fsoc*c); +void gc_mark228(T228*o); +void gc_align_mark228(fsoc*c,gc228*p); +extern fsoc H228; +T228*new228(void); +void gc_sweep227(fsoc*c); +void gc_mark227(T227*o); +void gc_align_mark227(fsoc*c,gc227*p); +extern fsoc H227; +T227*new227(void); +void gc_sweep226(fsoc*c); +void gc_mark226(T226*o); +void gc_align_mark226(fsoc*c,gc226*p); +extern fsoc H226; +T226*new226(void); +void gc_sweep225(fsoc*c); +void gc_mark225(T225*o); +void gc_align_mark225(fsoc*c,gc225*p); +extern fsoc H225; +T225*new225(void); +void gc_sweep158(fsoc*c); +void gc_mark158(T158*o); +void gc_align_mark158(fsoc*c,gc158*p); +extern fsoc H158; +T158*new158(void); +void gc_sweep54(fsoc*c); +void gc_mark54(T54*o); +void gc_align_mark54(fsoc*c,gc54*p); +extern fsoc H54; +T54*new54(void); +void gc_sweep139(fsoc*c); +void gc_mark139(T139*o); +void gc_align_mark139(fsoc*c,gc139*p); +extern fsoc H139; +T139*new139(void); +void gc_sweep223(fsoc*c); +void gc_mark223(T223*o); +void gc_align_mark223(fsoc*c,gc223*p); +extern fsoc H223; +T223*new223(void); +void gc_sweep142(fsoc*c); +void gc_mark142(T142*o); +void gc_align_mark142(fsoc*c,gc142*p); +extern fsoc H142; +T142*new142(void); +void gc_sweep222(fsoc*c); +void gc_mark222(T222*o); +void gc_align_mark222(fsoc*c,gc222*p); +extern fsoc H222; +T222*new222(void); +void gc_sweep141(fsoc*c); +void gc_mark141(T141*o); +void gc_align_mark141(fsoc*c,gc141*p); +extern fsoc H141; +T141*new141(void); +void gc_sweep221(fsoc*c); +void gc_mark221(T221*o); +void gc_align_mark221(fsoc*c,gc221*p); +extern fsoc H221; +T221*new221(void); +void gc_mark220(T220 o); +T220 new220(unsigned int size); +void gc_mark219(T219 o); +T219 new219(unsigned int size); +void gc_sweep218(fsoc*c); +void gc_mark218(T218*o); +void gc_align_mark218(fsoc*c,gc218*p); +extern fsoc H218; +T218*new218(void); +void gc_sweep217(fsoc*c); +void gc_mark217(T217*o); +void gc_align_mark217(fsoc*c,gc217*p); +extern fsoc H217; +T217*new217(void); +void gc_sweep216(fsoc*c); +void gc_mark216(T216*o); +void gc_align_mark216(fsoc*c,gc216*p); +extern fsoc H216; +T216*new216(void); +void gc_sweep215(fsoc*c); +void gc_mark215(T215*o); +void gc_align_mark215(fsoc*c,gc215*p); +extern fsoc H215; +T215*new215(void); +void gc_sweep214(fsoc*c); +void gc_mark214(T214*o); +void gc_align_mark214(fsoc*c,gc214*p); +extern fsoc H214; +T214*new214(void); +void gc_sweep213(fsoc*c); +void gc_mark213(T213*o); +void gc_align_mark213(fsoc*c,gc213*p); +extern fsoc H213; +T213*new213(void); +void gc_mark212(T212 o); +T212 new212(unsigned int size); +void gc_sweep211(fsoc*c); +void gc_mark211(T211*o); +void gc_align_mark211(fsoc*c,gc211*p); +extern fsoc H211; +T211*new211(void); +void gc_sweep208(fsoc*c); +void gc_mark208(T208*o); +void gc_align_mark208(fsoc*c,gc208*p); +extern fsoc H208; +T208*new208(void); +void gc_sweep146(fsoc*c); +void gc_mark146(T146*o); +void gc_align_mark146(fsoc*c,gc146*p); +extern fsoc H146; +T146*new146(void); +void gc_sweep207(fsoc*c); +void gc_mark207(T207*o); +void gc_align_mark207(fsoc*c,gc207*p); +extern fsoc H207; +T207*new207(void); +void gc_sweep206(fsoc*c); +void gc_mark206(T206*o); +void gc_align_mark206(fsoc*c,gc206*p); +extern fsoc H206; +T206*new206(void); +void gc_sweep148(fsoc*c); +void gc_mark148(T148*o); +void gc_align_mark148(fsoc*c,gc148*p); +extern fsoc H148; +T148*new148(void); +void gc_sweep131(fsoc*c); +void gc_mark131(T131*o); +void gc_align_mark131(fsoc*c,gc131*p); +extern fsoc H131; +T131*new131(void); +void gc_sweep130(fsoc*c); +void gc_mark130(T130*o); +void gc_align_mark130(fsoc*c,gc130*p); +extern fsoc H130; +T130*new130(void); +void gc_sweep128(fsoc*c); +void gc_mark128(T128*o); +void gc_align_mark128(fsoc*c,gc128*p); +extern fsoc H128; +T128*new128(void); +void gc_sweep72(fsoc*c); +void gc_mark72(T72*o); +void gc_align_mark72(fsoc*c,gc72*p); +extern fsoc H72; +T72*new72(void); +void gc_sweep53(fsoc*c); +void gc_mark53(T53*o); +void gc_align_mark53(fsoc*c,gc53*p); +extern fsoc H53; +T53*new53(void); +void gc_sweep46(fsoc*c); +void gc_mark46(T46*o); +void gc_align_mark46(fsoc*c,gc46*p); +extern fsoc H46; +T46*new46(void); +void gc_sweep175(fsoc*c); +void gc_mark175(T175*o); +void gc_align_mark175(fsoc*c,gc175*p); +extern fsoc H175; +T175*new175(void); +void gc_sweep205(fsoc*c); +void gc_mark205(T205*o); +void gc_align_mark205(fsoc*c,gc205*p); +extern fsoc H205; +T205*new205(void); +void gc_sweep204(fsoc*c); +void gc_mark204(T204*o); +void gc_align_mark204(fsoc*c,gc204*p); +extern fsoc H204; +T204*new204(void); +void gc_sweep67(fsoc*c); +void gc_mark67(T67*o); +void gc_align_mark67(fsoc*c,gc67*p); +extern fsoc H67; +T67*new67(void); +void gc_sweep43(fsoc*c); +void gc_mark43(T43*o); +void gc_align_mark43(fsoc*c,gc43*p); +extern fsoc H43; +T43*new43(void); +void gc_sweep69(fsoc*c); +void gc_mark69(T69*o); +void gc_align_mark69(fsoc*c,gc69*p); +extern fsoc H69; +T69*new69(void); +void gc_mark9(T9 o); +T9 new9(unsigned int size); +void gc_sweep7(fsoc*c); +void gc_mark7(T7*o); +void gc_align_mark7(fsoc*c,gc7*p); +extern fsoc H7; +T7*new7(void); +void gc_sweep70(fsoc*c); +void gc_mark70(T70*o); +void gc_align_mark70(fsoc*c,gc70*p); +extern fsoc H70; +T70*new70(void); +void gc_sweep64(fsoc*c); +void gc_mark64(T64*o); +void gc_align_mark64(fsoc*c,gc64*p); +extern fsoc H64; +T64*new64(void); +void gc_sweep25(fsoc*c); +void gc_mark25(T25*o); +void gc_align_mark25(fsoc*c,gc25*p); +extern fsoc H25; +T25*new25(void); +void Xgc_mark242(T0*o); +void Xgc_mark49(T0*o); +void Xgc_mark71(T0*o); +extern T25*eiffel_root_object; +extern int se_argc; +extern char**se_argv; +#define SE_MAXID 294 +extern T7*g[]; +extern T7*t[]; +extern int se_strucT[]; +void se_atexit(void); +void initialize_eiffel_runtime(int argc,char*argv[]); +int main(int argc,char*argv[]); +void X71prepare(T0*C,T0* a1); +T2 X71priority(T0*C); +T6 X71done(T0*C); +T6 X71is_ready(T0*C,T0* a1); +void X71continue(T0*C); +void X109expect(T0*C,T0* a1); +T6 X109occurred(T0*C,T0* a1); +T2 X49descriptor(T0*C); +T2 X49filtered_descriptor(T0*C); + +#ifdef __cplusplus +} +#endif -- cgit v1.1