00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <stdlib.h>
00018
00019 #include "xmmsc/xmmsc_util.h"
00020 #include "xmmsc/xmmsc_ipc_transport.h"
00021 #include "socket_unix.h"
00022 #include "socket_tcp.h"
00023 #include "url.h"
00024
00025 void
00026 xmms_ipc_transport_destroy (xmms_ipc_transport_t *ipct)
00027 {
00028 x_return_if_fail (ipct);
00029
00030 ipct->destroy_func (ipct);
00031
00032 free (ipct);
00033 }
00034
00035 int
00036 xmms_ipc_transport_read (xmms_ipc_transport_t *ipct, char *buffer, int len)
00037 {
00038 return ipct->read_func (ipct, buffer, len);
00039 }
00040
00041 int
00042 xmms_ipc_transport_write (xmms_ipc_transport_t *ipct, char *buffer, int len)
00043 {
00044 return ipct->write_func (ipct, buffer, len);
00045 }
00046
00047 xmms_socket_t
00048 xmms_ipc_transport_fd_get (xmms_ipc_transport_t *ipct)
00049 {
00050 x_return_val_if_fail (ipct, -1);
00051 return ipct->fd;
00052 }
00053
00054 xmms_ipc_transport_t *
00055 xmms_ipc_server_accept (xmms_ipc_transport_t *ipct)
00056 {
00057 x_return_val_if_fail (ipct, NULL);
00058
00059 if (!ipct->accept_func)
00060 return NULL;
00061
00062 return ipct->accept_func (ipct);
00063 }
00064
00065