X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dbus%2Fdbus-sysdeps.h;h=1053303a770db9b1af1fbac5cb38abeda957eb4d;hb=67f9cca382df0d03adfe6b619aa613d103fa77f6;hp=4dcda1e72db38608a9118024e65d02d338df8f3b;hpb=3404bb7238f2bb6dd5d678bc8f782810f3079241;p=platform%2Fupstream%2Fdbus.git diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index 4dcda1e..1053303 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -25,10 +25,19 @@ #ifndef DBUS_SYSDEPS_H #define DBUS_SYSDEPS_H +#include "config.h" + +#ifdef HAVE_STDINT_H +#include +#endif + +#ifdef HAVE_INTTYPES_H +#include +#endif + #include #include #include -#include /* this is perhaps bogus, but strcmp() etc. are faster if we use the * stuff straight out of string.h, so have this here for now. @@ -36,7 +45,6 @@ #include #include - /* AIX sys/poll.h does #define events reqevents, and other * wonderousness, so must include sys/poll before declaring * DBusPollFD @@ -68,6 +76,9 @@ typedef struct DBusList DBusList; /** Object that contains a list of credentials such as UNIX or Windows user ID */ typedef struct DBusCredentials DBusCredentials; +/** A wrapper around a pipe descriptor or handle */ +typedef struct DBusPipe DBusPipe; + /** * @addtogroup DBusSysdeps * @@ -76,6 +87,7 @@ typedef struct DBusCredentials DBusCredentials; void _dbus_abort (void) _DBUS_GNUC_NORETURN; +dbus_bool_t _dbus_check_setuid (void); const char* _dbus_getenv (const char *varname); dbus_bool_t _dbus_setenv (const char *varname, const char *value); @@ -114,8 +126,6 @@ typedef unsigned long dbus_gid_t; * */ -dbus_bool_t _dbus_open_tcp_socket (int *fd, - DBusError *error); dbus_bool_t _dbus_close_socket (int fd, DBusError *error); int _dbus_read_socket (int fd, @@ -200,7 +210,9 @@ dbus_bool_t _dbus_windows_user_is_process_owner (const char *windows_sid) dbus_bool_t _dbus_append_keyring_directory_for_credentials (DBusString *directory, DBusCredentials *credentials); -void _dbus_daemon_publish_session_bus_address (const char* address); +dbus_bool_t _dbus_daemon_is_session_bus_address_published (const char *scope); + +dbus_bool_t _dbus_daemon_publish_session_bus_address (const char* address, const char* shm_name); void _dbus_daemon_unpublish_session_bus_address (void); @@ -235,6 +247,7 @@ struct DBusAtomic dbus_int32_t _dbus_atomic_inc (DBusAtomic *atomic); dbus_int32_t _dbus_atomic_dec (DBusAtomic *atomic); +dbus_int32_t _dbus_atomic_get (DBusAtomic *atomic); /* AIX uses different values for poll */ @@ -265,6 +278,19 @@ dbus_int32_t _dbus_atomic_dec (DBusAtomic *atomic); #define _DBUS_POLLHUP 0x0080 /** Invalid request: fd not open */ #define _DBUS_POLLNVAL 0x1000 +#elif defined(__QNX__) +/** Writing now will not block */ +#define _DBUS_POLLOUT 0x0002 +/** There is data to read */ +#define _DBUS_POLLIN 0x0005 +/** There is urgent data to read */ +#define _DBUS_POLLPRI 0x0008 +/** Error condition */ +#define _DBUS_POLLERR 0x0020 +/** Hung up */ +#define _DBUS_POLLHUP 0x0040 +/** Invalid request: fd not open */ +#define _DBUS_POLLNVAL 0x1000 #else /** There is data to read */ #define _DBUS_POLLIN 0x0001 @@ -296,8 +322,11 @@ int _dbus_poll (DBusPollFD *fds, void _dbus_sleep_milliseconds (int milliseconds); -void _dbus_get_current_time (long *tv_sec, - long *tv_usec); +void _dbus_get_monotonic_time (long *tv_sec, + long *tv_usec); + +void _dbus_get_real_time (long *tv_sec, + long *tv_usec); /** * directory interface @@ -332,7 +361,7 @@ void _dbus_directory_close (DBusDirIter *iter); dbus_bool_t _dbus_check_dir_is_private_to_user (DBusString *dir, DBusError *error); -void _dbus_fd_set_close_on_exec (int fd); +void _dbus_fd_set_close_on_exec (intptr_t fd); const char* _dbus_get_tmpdir (void); @@ -421,7 +450,7 @@ void _dbus_set_signal_handler (int sig, dbus_bool_t _dbus_user_at_console (const char *username, DBusError *error); -void _dbus_init_system_log (void); +void _dbus_init_system_log (dbus_bool_t is_daemon); typedef enum { DBUS_SYSTEM_LOG_INFO, @@ -467,8 +496,9 @@ void _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list _DBUS_BYTE_OF_PRIMITIVE (a, 6) == _DBUS_BYTE_OF_PRIMITIVE (b, 6) && \ _DBUS_BYTE_OF_PRIMITIVE (a, 7) == _DBUS_BYTE_OF_PRIMITIVE (b, 7)) -dbus_bool_t _dbus_get_autolaunch_address (DBusString *address, - DBusError *error); +dbus_bool_t _dbus_get_autolaunch_address (const char *scope, + DBusString *address, + DBusError *error); dbus_bool_t _dbus_lookup_session_address (dbus_bool_t *supported, DBusString *address, @@ -490,6 +520,16 @@ dbus_bool_t _dbus_read_local_machine_uuid (DBusGUID *machine_id, */ dbus_bool_t _dbus_threads_init_platform_specific (void); +/** + * Lock a static mutex used to protect _dbus_threads_init_platform_specific(). + */ +void _dbus_threads_lock_platform_specific (void); + +/** + * Undo _dbus_threads_lock_platform_specific(). + */ +void _dbus_threads_unlock_platform_specific (void); + dbus_bool_t _dbus_split_paths_and_append (DBusString *dirs, const char *suffix, DBusList **dir_list); @@ -507,8 +547,25 @@ dbus_bool_t _dbus_change_to_daemon_user (const char *user, void _dbus_flush_caches (void); +void _dbus_request_file_descriptor_limit (unsigned int limit); + +/* + * replaces the term DBUS_PREFIX in configure_time_path by the + * current dbus installation directory. On unix this function is a noop + * + * @param configure_time_path + * @return real path + */ +const char * +_dbus_replace_install_prefix (const char *configure_time_path); + /** @} */ DBUS_END_DECLS + +#ifdef DBUS_WIN +#include "dbus-sysdeps-win.h" +#endif + #endif /* DBUS_SYSDEPS_H */