sl@0: /* sl@0: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #ifndef __GTHREAD_WSD_H__ sl@0: #define __GTHREAD_WSD_H__ sl@0: sl@0: #if (defined(__SYMBIAN32__) && (defined(__WINSCW__) || defined(__WINS__))) sl@0: sl@0: #include <_ansi.h> sl@0: #include sl@0: #include sl@0: sl@0: /* ------------------------ MACRO DEFINATIONS -------------------------*/ sl@0: #ifndef EMULATOR sl@0: #define EMULATOR (defined(__SYMBIAN32__) && (defined(__WINSCW__) || defined(__WINS__))) sl@0: #endif /* EMULATOR */ sl@0: sl@0: #define VARIABLE_NAME(var,filename) s_##filename##_##var sl@0: sl@0: #define FUNCTION_NAME(var,filename) _s_##filename##_##var sl@0: sl@0: #define VARIABLE_DECL(var,filename,datatype)\ sl@0: datatype VARIABLE_NAME(var,filename); sl@0: sl@0: #define VARIABLE_DECL_ARRAY(name,filename,datatype,size) \ sl@0: datatype VARIABLE_NAME(name,filename)[size]; sl@0: sl@0: #define RETURN_VAL(var,filename) (Gthread_ImpurePtr()->VARIABLE_NAME(var,filename)) sl@0: sl@0: #define PLS(var,filename,type) \ sl@0: type *FUNCTION_NAME(var,filename)() \ sl@0: { \ sl@0: return &RETURN_VAL(var,filename);\ sl@0: } sl@0: sl@0: #define PLS_ARRAY(var,filename,type) \ sl@0: type *FUNCTION_NAME(var,filename)() \ sl@0: { \ sl@0: return RETURN_VAL(var,filename);\ sl@0: } sl@0: /* ------------------------ END MACRO DEFINATIONS -------------------------*/ sl@0: sl@0: struct global_struct sl@0: { sl@0: VARIABLE_DECL(thread_system_already_initialized,gthread_impl,gboolean) sl@0: VARIABLE_DECL_ARRAY(g_thread_priority_map,gthread_impl,gint,G_THREAD_PRIORITY_URGENT + 1) sl@0: sl@0: #ifdef G_ENABLE_DEBUG sl@0: VARIABLE_DECL(posix_check_cmd_prio_warned,gthread_posix,gboolean) sl@0: #endif /* G_ENABLE_DEBUG */ sl@0: sl@0: VARIABLE_DECL(zero_thread,gthread_impl,GSystemThread) sl@0: VARIABLE_DECL(priority_normal_value,gthread_posix,gint) sl@0: VARIABLE_DECL(g_thread_min_stack_size ,gthread_posix,gulong) sl@0: VARIABLE_DECL(g_thread_functions_for_glib_use_default ,gthread_posix,GThreadFunctions) sl@0: }; sl@0: sl@0: __BEGIN_DECLS sl@0: struct global_struct *Gthread_ImpurePtr(); sl@0: __END_DECLS sl@0: #endif sl@0: sl@0: #endif /* __GTHREAD_WSD_H__ */