XMMS2
transport_unix.c
Go to the documentation of this file.
1 #include <stdlib.h>
3 #include "socket_unix.h"
4 #include "socket_tcp.h"
6 #include "xmmsc/xmmsc_util.h"
7 
9 xmms_ipc_client_init (const char *path)
10 {
11  xmms_ipc_transport_t *transport = NULL;
12  xmms_url_t *url;
13 
14  x_return_val_if_fail (path, NULL);
15 
16  url = parse_url (path);
17  x_return_val_if_fail (url, NULL);
18 
19  if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
20  transport = xmms_ipc_usocket_client_init (url);
21  } else if (!strcasecmp (url->protocol, "tcp")) {
22  transport = xmms_ipc_tcp_client_init (url, url->ipv6_host);
23  }
24 
25  free_url (url);
26  return transport;
27 }
28 
30 xmms_ipc_server_init (const char *path)
31 {
32  xmms_ipc_transport_t *transport = NULL;
33  xmms_url_t *url;
34 
35  x_return_val_if_fail (path, NULL);
36 
37  url = parse_url (path);
38  x_return_val_if_fail (url, NULL);
39 
40  if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
41  transport = xmms_ipc_usocket_server_init (url);
42  } else if (!strcasecmp (url->protocol, "tcp")) {
43  transport = xmms_ipc_tcp_server_init (url, url->ipv6_host);
44  }
45 
46  free_url (url);
47  return transport;
48 }