build.h | build.h | |||
---|---|---|---|---|
/* | /* | |||
(c) Copyright 2000-2002 convergence integrated media GmbH. | (c) Copyright 2001-2011 The world wide DirectFB Open Source Community ( | |||
(c) Copyright 2002-2004 convergence GmbH. | directfb.org) | |||
(c) Copyright 2000-2004 Convergence (integrated media) GmbH | ||||
All rights reserved. | All rights reserved. | |||
Written by Denis Oliver Kropp <dok@directfb.org>, | Written by Denis Oliver Kropp <dok@directfb.org>, | |||
Andreas Hundt <andi@fischlustig.de>, | Andreas Hundt <andi@fischlustig.de>, | |||
Sven Neumann <neo@directfb.org> and | Sven Neumann <neo@directfb.org>, | |||
Ville Syrjälä <syrjala@sci.fi>. | Ville Syrjälä <syrjala@sci.fi> and | |||
Claudio Ciccani <klan@users.sf.net>. | ||||
This library is free software; you can redistribute it and/or | This library is free software; you can redistribute it and/or | |||
modify it under the terms of the GNU Lesser General Public | modify it under the terms of the GNU Lesser General Public | |||
License as published by the Free Software Foundation; either | License as published by the Free Software Foundation; either | |||
version 2 of the License, or (at your option) any later version. | version 2 of the License, or (at your option) any later version. | |||
This library is distributed in the hope that it will be useful, | This library is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public | You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __FUSION__BUILD_H__ | #ifndef __DIRECT__BUILD_H__ | |||
#define __FUSION__BUILD_H__ | #define __DIRECT__BUILD_H__ | |||
#define FUSION_BUILD_MULTI (0) | #define DIRECT_OS_LINUX_GNU_LIBC (0) | |||
#define FUSION_BUILD_KERNEL (1) | #define DIRECT_OS_LINUX_KERNEL (1) | |||
#define FUSION_MESSAGE_SIZE (16384) | #define DIRECT_OS_PSP (2) | |||
#define DIRECT_OS_WIN32 (3) | ||||
#define DIRECT_OS_FAMOS (4) | ||||
#define DIRECT_BUILD_DEBUG (0) | ||||
#define DIRECT_BUILD_DEBUGS (1) | ||||
#define DIRECT_BUILD_TRACE (0) | ||||
#define DIRECT_BUILD_TEXT (1) | ||||
#define DIRECT_BUILD_GETTID (1) | ||||
#define DIRECT_BUILD_NETWORK (1) | ||||
#define DIRECT_BUILD_STDBOOL (1) | ||||
#define DIRECT_BUILD_DYNLOAD (1) | ||||
#define DIRECT_BUILD_MULTICORE (1) | ||||
#define DIRECT_BUILD_OSTYPE (DIRECT_OS_LINUX_GNU_LIBC) | ||||
#define DIRECT_BUILD_GCC_ATOMICS (0) | ||||
#if !DIRECT_BUILD_DEBUGS | ||||
#if defined(DIRECT_ENABLE_DEBUG) || defined(DIRECT_FORCE_DEBUG) | ||||
#define DIRECT_MINI_DEBUG | ||||
#endif | ||||
#undef DIRECT_ENABLE_DEBUG | ||||
#ifdef DIRECT_FORCE_DEBUG | ||||
#warning DIRECT_FORCE_DEBUG used with 'pure release' library headers. | ||||
#undef DIRECT_FORCE_DEBUG | ||||
#endif | ||||
#endif | ||||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
9 lines changed or deleted | 36 lines changed or added | |||
conf.h | conf.h | |||
---|---|---|---|---|
skipping to change at line 31 | skipping to change at line 31 | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public | You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __DIRECT__CONF_H__ | #ifndef __FUSION__CONF_H__ | |||
#define __DIRECT__CONF_H__ | #define __FUSION__CONF_H__ | |||
#include <direct/log_domain.h> | #include <fusion/types.h> | |||
typedef enum { | struct __Fusion_FusionConfig { | |||
DCFL_NONE, /* None is fatal. */ | char *tmpfs; /* location of shm file */ | |||
DCFL_ASSERT, /* ASSERT is fatal. */ | ||||
DCFL_ASSUME /* ASSERT and ASSUME are fatal. */ | ||||
} DirectConfigFatalLevel; | ||||
typedef enum { | bool debugshm; | |||
DCTS_OTHER, | bool madv_remove; | |||
DCTS_FIFO, | bool madv_remove_force; | |||
DCTS_RR | bool force_slave; | |||
} DirectConfigThreadScheduler; | ||||
typedef enum { | gid_t shmfile_gid; /* group that owns shm file */ | |||
DMT_NONE = 0x00000000, /* No message type. */ | ||||
DMT_BANNER = 0x00000001, /* Startup banner. */ | bool secure_fusion; | |||
DMT_INFO = 0x00000002, /* Info messages. */ | ||||
DMT_WARNING = 0x00000004, /* Warnings. */ | ||||
DMT_ERROR = 0x00000008, /* Error messages: regular, with DFBR | ||||
esult, bugs, | ||||
system call errors, dlopen errors | ||||
*/ | ||||
DMT_UNIMPLEMENTED = 0x00000010, /* Messages notifying unimplemented f | ||||
unctionality. */ | ||||
DMT_ONCE = 0x00000020, /* One-shot messages .*/ | ||||
DMT_UNTESTED = 0x00000040, /* Messages notifying unimplemented f | ||||
unctionality. */ | ||||
DMT_BUG = 0x00000080, /* A bug occurred. */ | ||||
DMT_ALL = 0x000000FF /* All types. */ | bool defer_destructors; | |||
} DirectMessageType; | ||||
struct __D_DirectConfig { | int trace_ref; | |||
DirectMessageType quiet; | ||||
DirectLogLevel log_level; | bool fork_handler; | |||
bool log_all; | ||||
bool log_none; | ||||
bool trace; | unsigned int call_bin_max_num; | |||
unsigned int call_bin_max_data; | ||||
char *memcpy; /* Don't probe for me | pid_t skirmish_warn_on_thread; | |||
mcpy routines to save a lot of | ||||
startup time. Use | ||||
this one instead if it's set. */ | ||||
char **disable_module; /* Never load these m | ||||
odules. */ | ||||
char *module_dir; /* module dir overrid | ||||
e */ | ||||
bool sighandler; | ||||
sigset_t dont_catch; /* don't catch these | ||||
signals */ | ||||
DirectLog *log; | ||||
DirectConfigFatalLevel fatal; | ||||
// @deprecated / FIXME: maybe adapt? | ||||
bool debug; | ||||
bool debugmem; | ||||
bool thread_block_signals; | ||||
bool fatal_break; /* Should D_BREAK() | ||||
cause a trap? */ | ||||
int thread_priority; | ||||
DirectConfigThreadScheduler thread_scheduler; | ||||
int thread_stack_size; | ||||
int thread_priority_scale; | ||||
char **default_interface_implementation_types; | ||||
char **default_interface_implementation_names; | ||||
unsigned int perf_dump_interval; | ||||
int log_delay_rand_loops; | ||||
int log_delay_rand_us; | ||||
int log_delay_min_loops; | ||||
int log_delay_min_us; | ||||
DirectMessageType fatal_messages; | ||||
bool nm_for_trace; | ||||
}; | }; | |||
extern DirectConfig DIRECT_API *direct_config; | extern FusionConfig FUSION_API *fusion_config; | |||
extern const char DIRECT_API *direct_config_usage; | ||||
DirectResult DIRECT_API direct_config_set( const char *name, const | ||||
char *value ); | ||||
/* Retrieve all values set on option 'name'. */ | ||||
/* Pass an array of char* pointers and number of pointers in 'num'. */ | ||||
/* The actual returned number of values gets returned in 'ret_num' */ | ||||
/* The returned option/values respect directfbrc, cmdline options and DFBAR | ||||
GS envvar. */ | ||||
/* The returned pointers are not extra allocated so do not free them! */ | ||||
DirectResult DIRECT_API direct_config_get( const char *name, char * | ||||
*values, const int values_len, int *ret_num ); | ||||
/* Return the integer value for the last occurrance of the passed option's | extern const char FUSION_API *fusion_config_usage; | |||
setting. */ | ||||
/* Note that 0 is also retuned in case the passed option was not found ot s | ||||
et. */ | ||||
long long DIRECT_API direct_config_get_int_value( const char *na | ||||
me ); | ||||
long long DIRECT_API direct_config_get_int_value_with_default( c | DirectResult FUSION_API fusion_config_set( const char *name, const | |||
onst char *name, | char *value ); | |||
l | ||||
ong long def ); | ||||
void __D_conf_init( void ); | void __Fusion_conf_init( void ); | |||
void __D_conf_deinit( void ); | void __Fusion_conf_deinit( void ); | |||
#endif | #endif | |||
End of changes. 14 change blocks. | ||||
109 lines changed or deleted | 23 lines changed or added | |||
directfb_version.h | directfb_version.h | |||
---|---|---|---|---|
skipping to change at line 34 | skipping to change at line 34 | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __DIRECTFB_VERSION_H__ | #ifndef __DIRECTFB_VERSION_H__ | |||
#define __DIRECTFB_VERSION_H__ | #define __DIRECTFB_VERSION_H__ | |||
#define DIRECTFB_MAJOR_VERSION (1) | #define DIRECTFB_MAJOR_VERSION (1) | |||
#define DIRECTFB_MINOR_VERSION (7) | #define DIRECTFB_MINOR_VERSION (7) | |||
#define DIRECTFB_MICRO_VERSION (3) | #define DIRECTFB_MICRO_VERSION (4) | |||
#define DIRECTFB_BINARY_AGE (0) | #define DIRECTFB_BINARY_AGE (0) | |||
#define DIRECTFB_INTERFACE_AGE (0) | #define DIRECTFB_INTERFACE_AGE (0) | |||
#endif /* __DIRECTFB_VERSION_H__ */ | #endif /* __DIRECTFB_VERSION_H__ */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
init.h | init.h | |||
---|---|---|---|---|
skipping to change at line 31 | skipping to change at line 31 | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public | You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __FUSION__INIT_H__ | #ifndef __DIRECT__INIT_H__ | |||
#define __FUSION__INIT_H__ | #define __DIRECT__INIT_H__ | |||
#include <fusion/types.h> | #include <direct/types.h> | |||
__constructor__ void __Fusion_init_all ( void ); | __constructor__ void __D_init_all ( void ); | |||
__destructor__ void __Fusion_deinit_all( void ); | __destructor__ void __D_deinit_all( void ); | |||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
types.h | types.h | |||
---|---|---|---|---|
skipping to change at line 31 | skipping to change at line 31 | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public | You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the | License along with this library; if not, write to the | |||
Free Software Foundation, Inc., 59 Temple Place - Suite 330, | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
Boston, MA 02111-1307, USA. | Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __DIRECT__TYPES_H__ | #ifndef __FUSION__TYPES_H__ | |||
#define __DIRECT__TYPES_H__ | #define __FUSION__TYPES_H__ | |||
#include <direct/os/types.h> | #include <fusion/build.h> | |||
#include <direct/types.h> | ||||
#ifdef WIN32 | #ifdef WIN32 | |||
// The following ifdef block is the standard way of creating macros which m ake exporting | // The following ifdef block is the standard way of creating macros which m ake exporting | |||
// from a DLL simpler. All files within this DLL are compiled with the DIRE CT_EXPORTS | // from a DLL simpler. All files within this DLL are compiled with the FUSI ON_EXPORTS | |||
// symbol defined on the command line. This symbol should not be defined on any project | // symbol defined on the command line. This symbol should not be defined on any project | |||
// that uses this DLL. This way any other project whose source files includ e this file see | // that uses this DLL. This way any other project whose source files includ e this file see | |||
// DIRECT_API functions as being imported from a DLL, whereas this DLL sees symbols | // FUSION_API functions as being imported from a DLL, whereas this DLL sees symbols | |||
// defined with this macro as being exported. | // defined with this macro as being exported. | |||
#ifdef DIRECT_EXPORTS | #ifdef FUSION_EXPORTS | |||
#define DIRECT_API __declspec(dllexport) | #define FUSION_API __declspec(dllexport) | |||
#else | #else | |||
#define DIRECT_API __declspec(dllimport) | #define FUSION_API __declspec(dllimport) | |||
#endif | #endif | |||
#else | #else | |||
#define DIRECT_API | #define FUSION_API | |||
#endif | ||||
#if FUSION_BUILD_MULTI && FUSION_BUILD_KERNEL | ||||
#include <sys/types.h> | ||||
#include <linux/fusion.h> | ||||
#define FUSION_API_MAJOR_REQUIRED 9 | ||||
#define FUSION_API_MINOR_REQUIRED 0 | ||||
#if FUSION_API_MAJOR_REQUIRED > FUSION_API_MAJOR_PROVIDED | ||||
#error Major version of Fusion Kernel Module too low! Upgrade your kernel. | ||||
#else | ||||
#if FUSION_API_MAJOR_REQUIRED == FUSION_API_MAJOR_PROVIDED | ||||
#if FUSION_API_MINOR_REQUIRED > FUSION_API_MINOR_PROVIDED | ||||
#error Minor version of Fusion Kernel Module too low! Upgrade your kernel. | ||||
#endif | ||||
#endif | ||||
#endif | ||||
#if FUSION_API_MAJOR_PROVIDED == 8 && FUSION_API_MINOR_PROVIDED == 8 && FUS | ||||
ION_API_MICRO_PROVIDED == 0 | ||||
#define FCEF_QUEUE (0) | ||||
#endif | #endif | |||
#include <direct/result.h> | #define FUSION_CALL_MAX_LENGTH (FUSION_MESSAGE_SIZE-sizeof(FusionReadMe ssage)) | |||
/************************************************************************** | #else | |||
********************************************/ | typedef unsigned long FusionID; | |||
#define FUSION_ID_MASTER 1L | ||||
/* | ||||
* Return value of enumeration callbacks | ||||
*/ | ||||
typedef enum { | typedef enum { | |||
DENUM_OK = 0x00000000, /* Proceed with enumeration */ | FCEF_NONE = 0x00000000, | |||
DENUM_CANCEL = 0x00000001, /* Cancel enumeration */ | FCEF_ONEWAY = 0x00000001, | |||
DENUM_REMOVE = 0x00000002 /* Remove item */ | FCEF_QUEUE = 0x00000002, | |||
} DirectEnumerationResult; | FCEF_ALL = 0x00000003 | |||
} FusionCallExecFlags; | ||||
typedef struct __D_DirectCleanupHandler DirectCleanupHandler; | ||||
typedef struct __D_DirectConfig DirectConfig; | #define FUSION_CALL_MAX_LENGTH (64 * 1024) | |||
typedef struct __D_DirectFifo DirectFifo; | ||||
typedef struct __D_DirectFifoItem DirectFifoItem; | #endif | |||
typedef struct __D_DirectFile DirectFile; | ||||
typedef struct __D_DirectHash DirectHash; | #define FCEF_NODIRECT 0x80000000 | |||
typedef struct __D_DirectOnce DirectOnce; | ||||
typedef struct __D_DirectLink DirectLink; | #include <direct/types.h> | |||
typedef struct __D_DirectLog DirectLog; | ||||
typedef struct __D_DirectMap DirectMap; | typedef struct __Fusion_FusionConfig FusionConfig; | |||
typedef struct __D_DirectModuleDir DirectModuleDir; | ||||
typedef struct __D_DirectModuleEntry DirectModuleEntry; | typedef struct __Fusion_FusionArena FusionArena; | |||
typedef struct __D_DirectMutex DirectMutex; | typedef struct __Fusion_FusionReactor FusionReactor; | |||
typedef struct __D_DirectProcessor DirectProcessor; | typedef struct __Fusion_FusionWorld FusionWorld; | |||
typedef struct __D_DirectSerial DirectSerial; | typedef struct __Fusion_FusionWorldShared FusionWorldShared; | |||
typedef struct __D_DirectSignalHandler DirectSignalHandler; | ||||
typedef struct __D_DirectStream DirectStream; | typedef struct __Fusion_FusionObject FusionObject; | |||
typedef struct __D_DirectTLS DirectTLS; | typedef struct __Fusion_FusionObjectPool FusionObjectPool; | |||
typedef struct __D_DirectTraceBuffer DirectTraceBuffer; | ||||
typedef struct __D_DirectTree DirectTree; | typedef struct __Fusion_FusionSHM FusionSHM; | |||
typedef struct __D_DirectThread DirectThread; | typedef struct __Fusion_FusionSHMShared FusionSHMShared; | |||
typedef struct __D_DirectThreadHandle DirectThreadHandle; | ||||
typedef struct __D_DirectThreadInitHandler DirectThreadInitHandler; | ||||
typedef struct __D_DirectWaitQueue DirectWaitQueue; | ||||
typedef void D_String; | typedef struct __Fusion_FusionSHMPool FusionSHMPool; | |||
typedef struct __Fusion_FusionSHMPoolShared FusionSHMPoolShared; | ||||
typedef struct __Fusion_FusionHash FusionHash; | ||||
#endif | #endif | |||
End of changes. 12 change blocks. | ||||
45 lines changed or deleted | 68 lines changed or added | |||