Fix: add some missing hidden attribute
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.c
index d1324d53013a696cea0289711d29c69bf17be4a9..64223df47bc45038ead29c02f4657b5b0a9c3d11 100644 (file)
@@ -27,8 +27,7 @@
 #include <unistd.h>
 #include <errno.h>
 
-#include <common/defaults.h>
-#include <common/error.h>
+#include <common/common.h>
 
 #include "sessiond-comm.h"
 
@@ -73,7 +72,7 @@ static const char *lttcomm_readable_code[] = {
  *
  * These code MUST be negative in other to treat that as an error value.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 const char *lttcomm_get_readable_code(enum lttcomm_return_code code)
 {
        code = -code;
@@ -89,7 +88,7 @@ const char *lttcomm_get_readable_code(enum lttcomm_return_code code)
  * Create socket from an already allocated lttcomm socket structure and init
  * sockaddr in the lttcomm sock.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 int lttcomm_create_sock(struct lttcomm_sock *sock)
 {
        int ret, _sock_type, _sock_proto, domain;
@@ -129,7 +128,7 @@ error:
 /*
  * Return allocated lttcomm socket structure.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 struct lttcomm_sock *lttcomm_alloc_sock(enum lttcomm_sock_proto proto)
 {
        struct lttcomm_sock *sock;
@@ -154,7 +153,7 @@ end:
  * This is mostly useful when lttcomm_sock are passed between process where the
  * fd and ops have to be changed within the correct address space.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 struct lttcomm_sock *lttcomm_alloc_copy_sock(struct lttcomm_sock *src)
 {
        struct lttcomm_sock *sock;
@@ -179,7 +178,7 @@ alloc_error:
  * This is mostly useful when lttcomm_sock are passed between process where the
  * fd and ops have to be changed within the correct address space.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 void lttcomm_copy_sock(struct lttcomm_sock *dst, struct lttcomm_sock *src)
 {
        /* Safety net */
@@ -196,7 +195,7 @@ void lttcomm_copy_sock(struct lttcomm_sock *dst, struct lttcomm_sock *src)
 /*
  * Init IPv4 sockaddr structure.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 int lttcomm_init_inet_sockaddr(struct lttcomm_sockaddr *sockaddr,
                const char *ip, unsigned int port)
 {
@@ -227,7 +226,7 @@ error:
 /*
  * Init IPv6 sockaddr structure.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 int lttcomm_init_inet6_sockaddr(struct lttcomm_sockaddr *sockaddr,
                const char *ip, unsigned int port)
 {
@@ -256,7 +255,7 @@ error:
 /*
  * Return allocated lttcomm socket structure from lttng URI.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 struct lttcomm_sock *lttcomm_alloc_sock_from_uri(struct lttng_uri *uri)
 {
        int ret;
@@ -309,8 +308,59 @@ alloc_error:
 /*
  * Destroy and free lttcomm socket.
  */
-__attribute__((visibility("hidden")))
+LTTNG_HIDDEN
 void lttcomm_destroy_sock(struct lttcomm_sock *sock)
 {
        free(sock);
 }
+
+/*
+ * Allocate and return a relayd socket object using a given URI to initialize
+ * it and the major/minor version of the supported protocol.
+ *
+ * On error, NULL is returned.
+ */
+LTTNG_HIDDEN
+struct lttcomm_relayd_sock *lttcomm_alloc_relayd_sock(struct lttng_uri *uri,
+               uint32_t major, uint32_t minor)
+{
+       int ret;
+       struct lttcomm_sock *tmp_sock = NULL;
+       struct lttcomm_relayd_sock *rsock = NULL;
+
+       assert(uri);
+
+       rsock = zmalloc(sizeof(*rsock));
+       if (!rsock) {
+               PERROR("zmalloc relayd sock");
+               goto error;
+       }
+
+       /* Allocate socket object from URI */
+       tmp_sock = lttcomm_alloc_sock_from_uri(uri);
+       if (tmp_sock == NULL) {
+               goto error_free;
+       }
+
+       /*
+        * Create socket object which basically sets the ops according to the
+        * socket protocol.
+        */
+       lttcomm_copy_sock(&rsock->sock, tmp_sock);
+       /* Temporary socket pointer not needed anymore. */
+       lttcomm_destroy_sock(tmp_sock);
+       ret = lttcomm_create_sock(&rsock->sock);
+       if (ret < 0) {
+               goto error_free;
+       }
+
+       rsock->major = major;
+       rsock->minor = minor;
+
+       return rsock;
+
+error_free:
+       free(rsock);
+error:
+       return NULL;
+}
This page took 0.027543 seconds and 5 git commands to generate.