00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef INTEGRA_HELPER_H
00022 #define INTEGRA_HELPER_H
00023
00024 #ifdef BUILD_SERIALIZATION
00025 #include "Integra/integra_serialize.h"
00026 #endif
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032 #ifdef HAVE_CONFIG_H
00033 # include <config.h>
00034 #else
00035 #define PACKAGE_NAME "libIntegra"
00036 #endif
00037
00041 #define ARRAY_ELEMENTS(_array) (sizeof(_array)/sizeof(_array[0]))
00042
00045 #define NTG_PATH 1
00046 #define NTG_HOME 2
00047 #define NTG_PWD 4
00048 #define NTG_CWD 8
00049 #define NTG_LD_LIBRARY_PATH 16
00050 #define NTG_XDG_DATA_DIRS 32
00051 #define NTG_NTG_BRIDGE_PATH 64
00052 #define NTG_NTG_MAP_PATH 128
00053 #define NTG_NTG_USER_DIR 256
00054
00057
00058
00059
00060 #ifdef INSTALL_PREFIX
00061 #define NTG_EXTRA_LIB INSTALL_PREFIX "/lib" NTG_COLON
00062 #define NTG_EXTRA_BRIDGE INSTALL_PREFIX "/lib/integra" NTG_COLON
00063 #define NTG_EXTRA_MAP INSTALL_PREFIX "/share/"
00064 #else
00065 #define NTG_EXTRA_LIB
00066 #define NTG_EXTRA_BRIDGE
00067 #define NTG_EXTRA_MAP
00068 #endif
00069
00070 #define NTG_DEFAULT_LD_LIBRARY_PATH NTG_EXTRA_LIB "/usr/lib"
00071 #define NTG_DEFAULT_BRIDGE_PATH NTG_EXTRA_BRIDGE "/usr/lib/integra"
00072 #define NTG_DEFAULT_SHARE_PATH_PREFIX1 NTG_EXTRA_MAP
00073 #define NTG_DEFAULT_SHARE_PATH_PREFIX2 "/usr/share/"
00074 #define NTG_COLON ":"
00075 #define NTG_MODULES_SUBDIR "/modules"
00076 #define NTG_DEFAULT_DATA_PATH NTG_DEFAULT_SHARE_PATH_PREFIX1 PACKAGE_NAME NTG_COLON NTG_DEFAULT_SHARE_PATH_PREFIX2 PACKAGE_NAME
00077 #define NTG_DEFAULT_MAP_PATH NTG_DEFAULT_DATA_PATH
00078 #define NTG_DEFAULT_XDG_DATA_DIRS_PATH NTG_DEFAULT_DATA_PATH NTG_COLON NTG_DEFAULT_SHARE_PATH_PREFIX1 PACKAGE_NAME NTG_MODULES_SUBDIR NTG_COLON NTG_DEFAULT_SHARE_PATH_PREFIX2 PACKAGE_NAME NTG_MODULES_SUBDIR
00079 #define NTG_DEFAULT_USER_DIR "/.integra"
00080
00081 #define NTG_FILE_SUFFIXES "ixd,xsd"
00082
00083 #define NTG_NULL_BYTES 1
00084
00085
00086
00087
00088
00095 int ntg_count_digits(int num);
00096
00101 int ntg_post(char *format, ...);
00102
00108 int ntg_lower(char *str);
00109
00115 int ntg_upper(char *str);
00116
00118 char *ntg_append_string(char *dest, const char *source);
00119
00121 char *ntg_append_path(char *dest, const char *source);
00122
00137 char *ntg_build_path_list(int envvars);
00138
00148 char *ntg_file_find(const char *filename, int envvars);
00149
00165 char *ntg_search_for_file(const char *token, char *file_suffix, int envvars);
00166
00167
00169 unsigned int array_elements(void **array);
00170
00172
00173 void ntg_bashfilename(const char *from, char *to);
00174
00175
00176 void ntg_unbashfilename(const char *from, char *to);
00177
00178
00179 int ntg_is_absolute_path(const char *dir);
00180
00181
00182 char *ntg_replace_substring(const char *string, const char *original,
00183 const char *replacement);
00184
00185 #ifdef __cplusplus
00186 }
00187 #endif
00188
00189 #endif