XMMS2
transport_win.c
Go to the documentation of this file.
1#include <stdlib.h>
3#include "socket_tcp.h"
5#include "xmmsc/xmmsc_util.h"
6
8xmms_ipc_client_init (const char *path)
9{
10 xmms_ipc_transport_t *transport = NULL;
11 xmms_url_t *url;
12
13 x_return_val_if_fail (path, NULL);
14
15 url = parse_url (path);
16 x_return_val_if_fail (url, NULL);
17
18 if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
19 transport = NULL;
20 } else if (!strcasecmp (url->protocol, "tcp")) {
21 transport = xmms_ipc_tcp_client_init (url, url->ipv6_host);
22 }
23
24 free_url (url);
25 return transport;
26}
27
29xmms_ipc_server_init (const char *path)
30{
31 xmms_ipc_transport_t *transport = NULL;
32 xmms_url_t *url;
33
34 x_return_val_if_fail (path, NULL);
35
36 url = parse_url (path);
37 x_return_val_if_fail (url, NULL);
38
39 if (!strcasecmp (url->protocol, "") || !strcasecmp (url->protocol, "unix")) {
40 transport = NULL;
41 } else if (!strcasecmp (url->protocol, "tcp")) {
42 transport = xmms_ipc_tcp_server_init (url, url->ipv6_host);
43 }
44
45 free_url (url);
46 return transport;
47}
xmms_ipc_transport_t * xmms_ipc_tcp_server_init(const xmms_url_t *url, int ipv6)
Definition socket_tcp.c:171
xmms_ipc_transport_t * xmms_ipc_tcp_client_init(const xmms_url_t *url, int ipv6)
Definition socket_tcp.c:67
int ipv6_host
Definition url.h:8
char * protocol
Definition url.h:5
xmms_ipc_transport_t * xmms_ipc_client_init(const char *path)
xmms_ipc_transport_t * xmms_ipc_server_init(const char *path)
void free_url(xmms_url_t *url)
Definition url.c:94
xmms_url_t * parse_url(const char *url)
Split a URL into its respective parts.
Definition url.c:17
#define x_return_val_if_fail(expr, val)
Definition xmmsc_util.h:13