summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/xine/attributes.h9
-rw-r--r--include/xine/xine_internal.h3
-rw-r--r--include/xine/xineutils.h18
3 files changed, 30 insertions, 0 deletions
diff --git a/include/xine/attributes.h b/include/xine/attributes.h
index 2326dab18..9f02d9b7b 100644
--- a/include/xine/attributes.h
+++ b/include/xine/attributes.h
@@ -66,6 +66,15 @@
# define XINE_PROTECTED
#endif
+/* Export hidden only for private/internal libxine functions */
+#if defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_INTERNAL)
+# define XINE_INTERNAL __attribute__((__visibility__("internal")))
+#elif defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT)
+# define XINE_INTERNAL __attribute__((__visibility__("default")))
+#else
+# define XINE_INTERNAL
+#endif
+
#ifdef SUPPORT_ATTRIBUTE_SENTINEL
# define XINE_SENTINEL __attribute__((__sentinel__))
#else
diff --git a/include/xine/xine_internal.h b/include/xine/xine_internal.h
index 7064539ab..9a7a7fee3 100644
--- a/include/xine/xine_internal.h
+++ b/include/xine/xine_internal.h
@@ -47,6 +47,9 @@ extern "C" {
#include <xine/io_helper.h>
#include <xine/info_helper.h>
#include <xine/alphablend.h>
+#ifdef XINE_COMPILE
+# include "xine_private.h"
+#endif
#define XINE_MAX_EVENT_LISTENERS 50
#define XINE_MAX_EVENT_TYPES 100
diff --git a/include/xine/xineutils.h b/include/xine/xineutils.h
index 6c62bb84f..fa34931ec 100644
--- a/include/xine/xineutils.h
+++ b/include/xine/xineutils.h
@@ -181,6 +181,24 @@ void xine_usec_sleep(unsigned usec) XINE_PROTECTED;
*/
char *xine_strcat_realloc (char **dest, char *append) XINE_PROTECTED;
+/**
+ * opens a file, ensuring that the descriptor will be closed
+ * automatically after a fork/execute.
+ */
+int xine_open_cloexec(const char *name, int flags) XINE_PROTECTED;
+
+/**
+ * creates a file, ensuring that the descriptor will be closed
+ * automatically after a fork/execute.
+ */
+int xine_create_cloexec(const char *name, int flags, mode_t mode) XINE_PROTECTED;
+
+/**
+ * creates a socket, ensuring that the descriptor will be closed
+ * automatically after a fork/execute.
+ */
+int xine_socket_cloexec(int domain, int type, int protocol) XINE_PROTECTED;
+
/*
* Color Conversion Utility Functions
* The following data structures and functions facilitate the conversion