1f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz/*
2f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
3f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  BlueZ - Bluetooth protocol stack for Linux
4f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
5f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  Copyright (C) 2006-2007  Nokia Corporation
6f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  Copyright (C) 2004-2009  Marcel Holtmann <marcel@holtmann.org>
7f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
8f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
9f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  This program is free software; you can redistribute it and/or modify
10f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  it under the terms of the GNU General Public License as published by
11f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  the Free Software Foundation; either version 2 of the License, or
12f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  (at your option) any later version.
13f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
14f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  This program is distributed in the hope that it will be useful,
15f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  GNU General Public License for more details.
18f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
19f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  You should have received a copy of the GNU General Public License
20f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  along with this program; if not, write to the Free Software
21f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
22f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz *
23f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz */
24f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz
25f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzstruct media_endpoint;
26f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz
27f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentztypedef void (*media_endpoint_cb_t) (struct media_endpoint *endpoint,
28f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz					void *ret, int size, void *user_data);
29f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz
30f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzint media_register(DBusConnection *conn, const char *path, const bdaddr_t *src);
31f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzvoid media_unregister(const char *path);
32f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz
33f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzconst char *media_endpoint_get_sender(struct media_endpoint *endpoint);
34f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz
35f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzsize_t media_endpoint_get_capabilities(struct media_endpoint *endpoint,
36f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz					uint8_t **capabilities);
37f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzgboolean media_endpoint_set_configuration(struct media_endpoint *endpoint,
38f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz					struct audio_device *device,
39f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz					uint8_t *configuration, size_t size,
40f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz					media_endpoint_cb_t cb,
41f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz					void *user_data);
42f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzgboolean media_endpoint_select_configuration(struct media_endpoint *endpoint,
43f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz						uint8_t *capabilities,
44f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz						size_t length,
45f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz						media_endpoint_cb_t cb,
46f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz						void *user_data);
47f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzvoid media_endpoint_clear_configuration(struct media_endpoint *endpoint);
48f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzvoid media_endpoint_release(struct media_endpoint *endpoint);
49f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentz
50f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzstruct a2dp_sep *media_endpoint_get_sep(struct media_endpoint *endpoint);
51f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzconst char *media_endpoint_get_uuid(struct media_endpoint *endpoint);
52f87e1bed1320276e39cc5ccb250082fac90bdedeLuiz Augusto von Dentzuint8_t media_endpoint_get_codec(struct media_endpoint *endpoint);
53d19ec4d20c0d0498e54233aba1e7d200471eb088Luiz Augusto von Dentzstruct media_transport *media_endpoint_get_transport(
54d19ec4d20c0d0498e54233aba1e7d200471eb088Luiz Augusto von Dentz					struct media_endpoint *endpoint);
55