2 * Copyright 2013 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 extern unsigned long util_string_hash(const char *str);
18 extern double util_timestamp(void);
19 extern int util_check_ext(const char *filename, const char *check_ptr);
20 extern int util_validate_livebox_package(const char *pkgname);
21 extern int util_unlink(const char *filename);
22 extern int util_unlink_files(const char *folder);
23 extern char *util_slavename(void);
24 extern const char *util_basename(const char *name);
25 extern unsigned long long util_free_space(const char *path);
26 extern char *util_replace_string(const char *src, const char *pattern, const char *replace);
27 extern const char *util_uri_to_path(const char *uri);
28 extern void *util_timer_add(double interval, Eina_Bool (*cb)(void *data), void *data);
29 extern void util_timer_interval_set(void *timer, double interval);
30 extern double util_time_delay_for_compensation(double period);
31 extern void util_setup_log_disk(void);
32 extern void util_remove_emergency_disk(void);
33 extern void util_prepare_emergency_disk(void);
34 extern int util_emergency_disk_is_mounted(void);
35 extern int util_service_is_enabled(const char *tag);
37 extern int util_screen_size_get(int *width, int *height);
38 extern int util_screen_init(void);
39 extern int util_screen_fini(void);
41 #define SCHEMA_FILE "file://"
42 #define SCHEMA_PIXMAP "pixmap://"
43 #define SCHEMA_SHM "shm://"
45 #define CRITICAL_SECTION_BEGIN(handle) \
48 ret = pthread_mutex_lock(handle); \
50 ErrPrint("Failed to lock: %s\n", strerror(ret)); \
53 #define CRITICAL_SECTION_END(handle) \
56 ret = pthread_mutex_unlock(handle); \
58 ErrPrint("Failed to unlock: %s\n", strerror(ret)); \
61 #define CANCEL_SECTION_BEGIN() do { \
63 ret = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); \
65 ErrPrint("Unable to set cancelate state: %s\n", strerror(ret)); \
68 #define CANCEL_SECTION_END() do { \
70 ret = pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); \
72 ErrPrint("Unable to set cancelate state: %s\n", strerror(ret)); \
75 #define CLOSE_PIPE(p) do { \
77 status = close(p[PIPE_READ]); \
79 ErrPrint("close: %s\n", strerror(errno)); \
80 status = close(p[PIPE_WRITE]); \
82 ErrPrint("close: %s\n", strerror(errno)); \