libmpdclient  2.23
connection.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: BSD-3-Clause
2 // Copyright The Music Player Daemon Project
3 
10 #ifndef MPD_CONNECTION_H
11 #define MPD_CONNECTION_H
12 
13 #include "protocol.h"
14 #include "error.h"
15 #include "compiler.h"
16 
17 #include <stdbool.h>
18 
19 struct mpd_async;
20 
65 struct mpd_connection;
66 
67 #ifdef __cplusplus
68 extern "C" {
69 #endif
70 
95 mpd_malloc
96 struct mpd_connection *
97 mpd_connection_new(const char *host, unsigned port, unsigned timeout_ms);
98 
112 mpd_malloc
113 struct mpd_connection *
114 mpd_connection_new_async(struct mpd_async *async, const char *welcome);
115 
121 void mpd_connection_free(struct mpd_connection *connection);
122 
129 const struct mpd_settings *
130 mpd_connection_get_settings(const struct mpd_connection *connection);
131 
147 bool
149  bool keepalive);
150 
163 void mpd_connection_set_timeout(struct mpd_connection *connection,
164  unsigned timeout_ms);
165 
188 mpd_pure
189 int
190 mpd_connection_get_fd(const struct mpd_connection *connection);
191 
201 mpd_pure
202 struct mpd_async *
203 mpd_connection_get_async(struct mpd_connection *connection);
204 
209 mpd_pure
210 enum mpd_error
211 mpd_connection_get_error(const struct mpd_connection *connection);
212 
223 mpd_pure
224 const char *
225 mpd_connection_get_error_message(const struct mpd_connection *connection);
226 
232 mpd_pure
233 enum mpd_server_error
234 mpd_connection_get_server_error(const struct mpd_connection *connection);
235 
244 mpd_pure
245 unsigned
247 
255 mpd_pure
256 int
257 mpd_connection_get_system_error(const struct mpd_connection *connection);
258 
267 bool
268 mpd_connection_clear_error(struct mpd_connection *connection);
269 
274 mpd_pure
275 const unsigned *
276 mpd_connection_get_server_version(const struct mpd_connection *connection);
277 
284 mpd_pure
285 int
286 mpd_connection_cmp_server_version(const struct mpd_connection *connection,
287  unsigned major, unsigned minor,
288  unsigned patch);
289 
290 #ifdef __cplusplus
291 }
292 #endif
293 
294 #endif
struct mpd_connection * mpd_connection_new_async(struct mpd_async *async, const char *welcome)
enum mpd_server_error mpd_connection_get_server_error(const struct mpd_connection *connection)
int mpd_connection_get_system_error(const struct mpd_connection *connection)
mpd_server_error
Definition: protocol.h:14
void mpd_connection_set_timeout(struct mpd_connection *connection, unsigned timeout_ms)
mpd_error
Definition: error.h:14
bool mpd_connection_set_keepalive(struct mpd_connection *connection, bool keepalive)
MPD client library.
MPD client library.
const struct mpd_settings * mpd_connection_get_settings(const struct mpd_connection *connection)
enum mpd_error mpd_connection_get_error(const struct mpd_connection *connection)
int mpd_connection_get_fd(const struct mpd_connection *connection)
const char * mpd_connection_get_error_message(const struct mpd_connection *connection)
bool mpd_connection_clear_error(struct mpd_connection *connection)
struct mpd_connection * mpd_connection_new(const char *host, unsigned port, unsigned timeout_ms)
struct mpd_async * mpd_connection_get_async(struct mpd_connection *connection)
void mpd_connection_free(struct mpd_connection *connection)
const unsigned * mpd_connection_get_server_version(const struct mpd_connection *connection)
unsigned mpd_connection_get_server_error_location(const struct mpd_connection *connection)
int mpd_connection_cmp_server_version(const struct mpd_connection *connection, unsigned major, unsigned minor, unsigned patch)