/* 
 | 
 * 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 
 |