libmpdclient
2.18
Main Page
Classes
Files
File List
File Members
mpd
async.h
Go to the documentation of this file.
1
/* libmpdclient
2
(c) 2003-2019 The Music Player Daemon Project
3
This project's homepage is: http://www.musicpd.org
4
5
Redistribution and use in source and binary forms, with or without
6
modification, are permitted provided that the following conditions
7
are met:
8
9
- Redistributions of source code must retain the above copyright
10
notice, this list of conditions and the following disclaimer.
11
12
- Redistributions in binary form must reproduce the above copyright
13
notice, this list of conditions and the following disclaimer in the
14
documentation and/or other materials provided with the distribution.
15
16
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
20
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*/
28
41
#ifndef MPD_ASYNC_H
42
#define MPD_ASYNC_H
43
44
#include "
error.h
"
45
#include "
compiler.h
"
46
47
#include <stdbool.h>
48
#include <stdarg.h>
49
#include <stddef.h>
50
54
enum
mpd_async_event
{
56
MPD_ASYNC_EVENT_READ
= 1,
57
59
MPD_ASYNC_EVENT_WRITE
= 2,
60
62
MPD_ASYNC_EVENT_HUP
= 4,
63
65
MPD_ASYNC_EVENT_ERROR
= 8,
66
};
67
74
struct
mpd_async
;
75
76
#ifdef __cplusplus
77
extern
"C"
{
78
#endif
79
87
mpd_malloc
88
struct
mpd_async
*
89
mpd_async_new
(
int
fd);
90
94
void
95
mpd_async_free
(
struct
mpd_async
*async);
96
101
mpd_pure
102
enum
mpd_error
103
mpd_async_get_error
(
const
struct
mpd_async
*async);
104
116
mpd_pure
117
const
char
*
118
mpd_async_get_error_message
(
const
struct
mpd_async
*async);
119
127
mpd_pure
128
int
129
mpd_async_get_system_error
(
const
struct
mpd_async
*async);
130
137
mpd_pure
138
int
139
mpd_async_get_fd
(
const
struct
mpd_async
*async);
140
156
bool
157
mpd_async_set_keepalive
(
struct
mpd_async
*async,
158
bool
keepalive);
159
163
mpd_pure
164
enum
mpd_async_event
165
mpd_async_events
(
const
struct
mpd_async
*async);
166
174
bool
175
mpd_async_io
(
struct
mpd_async
*async,
enum
mpd_async_event
events);
176
187
bool
188
mpd_async_send_command_v
(
struct
mpd_async
*async,
const
char
*command,
189
va_list args);
190
200
mpd_sentinel
201
bool
202
mpd_async_send_command
(
struct
mpd_async
*async,
const
char
*command, ...);
203
214
mpd_malloc
215
char
*
216
mpd_async_recv_line
(
struct
mpd_async
*async);
217
230
size_t
231
mpd_async_recv_raw
(
struct
mpd_async
*async,
void
*dest,
size_t
length);
232
233
#ifdef __cplusplus
234
}
235
#endif
236
237
#endif
Generated on Sun Apr 5 2020 19:35:30 for libmpdclient by
1.8.3.1