hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 * BlueALSA - ctl-client.h
 * Copyright (c) 2016-2018 Arkadiusz Bokowy
 *
 * This file is a part of bluez-alsa.
 *
 * This project is licensed under the terms of the MIT license.
 *
 */
 
#ifndef BLUEALSA_SHARED_CTLCLIENT_H_
#define BLUEALSA_SHARED_CTLCLIENT_H_
 
#include <stdbool.h>
#include "shared/ctl-proto.h"
 
int bluealsa_open(const char *interface);
 
int bluealsa_subscribe(int fd, enum ba_event mask);
 
ssize_t bluealsa_get_devices(int fd, struct ba_msg_device **devices);
ssize_t bluealsa_get_transports(int fd, struct ba_msg_transport **transports);
 
int bluealsa_get_transport(int fd, bdaddr_t addr, enum ba_pcm_type type,
       enum ba_pcm_stream stream, struct ba_msg_transport *transport);
 
int bluealsa_get_transport_delay(int fd, const struct ba_msg_transport *transport,
       unsigned int *delay);
int bluealsa_set_transport_delay(int fd, const struct ba_msg_transport *transport,
       unsigned int delay);
 
int bluealsa_get_transport_volume(int fd, const struct ba_msg_transport *transport,
       bool *ch1_muted, int *ch1_volume, bool *ch2_muted, int *ch2_volume);
int bluealsa_set_transport_volume(int fd, const struct ba_msg_transport *transport,
       bool ch1_muted, int ch1_volume, bool ch2_muted, int ch2_volume);
 
int bluealsa_open_transport(int fd, const struct ba_msg_transport *transport);
int bluealsa_close_transport(int fd, const struct ba_msg_transport *transport);
int bluealsa_pause_transport(int fd, const struct ba_msg_transport *transport, bool pause);
int bluealsa_drain_transport(int fd, const struct ba_msg_transport *transport);
 
int bluealsa_send_rfcomm_command(int fd, bdaddr_t addr, const char *command);
 
#endif