use stdbool

This commit is contained in:
Nick Kelsey 2017-06-02 12:19:44 -07:00
parent 1efbcb2b87
commit 1d68aab367
21 changed files with 285 additions and 292 deletions

View file

@ -127,10 +127,10 @@ static void channelscan_extract_name(struct hdhomerun_channelscan_program_t *pro
program->name[length] = 0;
}
static int channelscan_detect_programs(struct hdhomerun_channelscan_t *scan, struct hdhomerun_channelscan_result_t *result, bool_t *pchanged, bool_t *pincomplete)
static int channelscan_detect_programs(struct hdhomerun_channelscan_t *scan, struct hdhomerun_channelscan_result_t *result, bool *pchanged, bool *pincomplete)
{
*pchanged = FALSE;
*pincomplete = FALSE;
*pchanged = false;
*pincomplete = false;
char *streaminfo;
int ret = hdhomerun_device_get_tuner_streaminfo(scan->hd, &streaminfo);
@ -153,14 +153,14 @@ static int channelscan_detect_programs(struct hdhomerun_channelscan_t *scan, str
unsigned int transport_stream_id;
if (sscanf(line, "tsid=0x%x", &transport_stream_id) == 1) {
result->transport_stream_id = transport_stream_id;
result->transport_stream_id_detected = TRUE;
result->transport_stream_id_detected = true;
continue;
}
unsigned int original_network_id;
if (sscanf(line, "onid=0x%x", &original_network_id) == 1) {
result->original_network_id = original_network_id;
result->original_network_id_detected = TRUE;
result->original_network_id_detected = true;
continue;
}
@ -194,28 +194,28 @@ static int channelscan_detect_programs(struct hdhomerun_channelscan_t *scan, str
program.type = HDHOMERUN_CHANNELSCAN_PROGRAM_ENCRYPTED;
} else if (strstr(line, "(no data)")) {
program.type = HDHOMERUN_CHANNELSCAN_PROGRAM_NODATA;
*pincomplete = TRUE;
*pincomplete = true;
} else {
program.type = HDHOMERUN_CHANNELSCAN_PROGRAM_NORMAL;
if ((program.virtual_major == 0) || (program.name[0] == 0)) {
*pincomplete = TRUE;
*pincomplete = true;
}
}
if (memcmp(&result->programs[program_count], &program, sizeof(program)) != 0) {
memcpy(&result->programs[program_count], &program, sizeof(program));
*pchanged = TRUE;
*pchanged = true;
}
program_count++;
}
if (program_count == 0) {
*pincomplete = TRUE;
*pincomplete = true;
}
if (result->program_count != program_count) {
result->program_count = program_count;
*pchanged = TRUE;
*pchanged = true;
}
return 1;
@ -282,7 +282,7 @@ int channelscan_detect(struct hdhomerun_channelscan_t *scan, struct hdhomerun_ch
uint64_t complete_time = getcurrenttime() + 1000;
while (1) {
bool_t changed, incomplete;
bool changed, incomplete;
ret = channelscan_detect_programs(scan, result, &changed, &incomplete);
if (ret <= 0) {
return ret;

View file

@ -50,23 +50,23 @@ static void extract_appname(const char *argv0)
appname = argv0;
}
static bool_t contains(const char *arg, const char *cmpstr)
static bool contains(const char *arg, const char *cmpstr)
{
if (strcmp(arg, cmpstr) == 0) {
return TRUE;
return true;
}
if (*arg++ != '-') {
return FALSE;
return false;
}
if (*arg++ != '-') {
return FALSE;
return false;
}
if (strcmp(arg, cmpstr) == 0) {
return TRUE;
return true;
}
return FALSE;
return false;
}
static uint32_t parse_ip_addr(const char *str)
@ -180,17 +180,17 @@ static int cmd_set(const char *item, const char *value)
return cmd_set_internal(item, value);
}
static volatile sig_atomic_t sigabort_flag = FALSE;
static volatile sig_atomic_t siginfo_flag = FALSE;
static volatile sig_atomic_t sigabort_flag = false;
static volatile sig_atomic_t siginfo_flag = false;
static void sigabort_handler(int arg)
{
sigabort_flag = TRUE;
sigabort_flag = true;
}
static void siginfo_handler(int arg)
{
siginfo_flag = TRUE;
siginfo_flag = true;
}
static void register_signal_handlers(sig_t sigpipe_handler, sig_t sigint_handler, sig_t siginfo_handler)
@ -379,7 +379,7 @@ static int cmd_save(const char *tuner_str, const char *filename)
if (siginfo_flag) {
fprintf(stderr, "\n");
cmd_save_print_stats();
siginfo_flag = FALSE;
siginfo_flag = false;
}
size_t actual_size;

View file

@ -76,26 +76,26 @@ void hdhomerun_control_destroy(struct hdhomerun_control_sock_t *cs)
free(cs);
}
static bool_t hdhomerun_control_connect_sock(struct hdhomerun_control_sock_t *cs)
static bool hdhomerun_control_connect_sock(struct hdhomerun_control_sock_t *cs)
{
if (cs->sock) {
return TRUE;
return true;
}
if ((cs->desired_device_id == 0) && (cs->desired_device_ip == 0)) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: no device specified\n");
return FALSE;
return false;
}
if (hdhomerun_discover_is_ip_multicast(cs->desired_device_ip)) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: cannot use multicast ip address for device operations\n");
return FALSE;
return false;
}
/* Find device. */
struct hdhomerun_discover_device_t result;
if (hdhomerun_discover_find_devices_custom_v2(cs->desired_device_ip, HDHOMERUN_DEVICE_TYPE_WILDCARD, cs->desired_device_id, &result, 1) <= 0) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: device not found\n");
return FALSE;
return false;
}
cs->actual_device_ip = result.ip_addr;
cs->actual_device_id = result.device_id;
@ -104,18 +104,18 @@ static bool_t hdhomerun_control_connect_sock(struct hdhomerun_control_sock_t *cs
cs->sock = hdhomerun_sock_create_tcp();
if (!cs->sock) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: failed to create socket (%d)\n", hdhomerun_sock_getlasterror());
return FALSE;
return false;
}
/* Initiate connection. */
if (!hdhomerun_sock_connect(cs->sock, cs->actual_device_ip, HDHOMERUN_CONTROL_TCP_PORT, HDHOMERUN_CONTROL_CONNECT_TIMEOUT)) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_connect_sock: failed to connect (%d)\n", hdhomerun_sock_getlasterror());
hdhomerun_control_close_sock(cs);
return FALSE;
return false;
}
/* Success. */
return TRUE;
return true;
}
uint32_t hdhomerun_control_get_device_id(struct hdhomerun_control_sock_t *cs)
@ -164,18 +164,18 @@ uint32_t hdhomerun_control_get_local_addr(struct hdhomerun_control_sock_t *cs)
return addr;
}
static bool_t hdhomerun_control_send_sock(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *tx_pkt)
static bool hdhomerun_control_send_sock(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *tx_pkt)
{
if (!hdhomerun_sock_send(cs->sock, tx_pkt->start, tx_pkt->end - tx_pkt->start, HDHOMERUN_CONTROL_SEND_TIMEOUT)) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_send_sock: send failed (%d)\n", hdhomerun_sock_getlasterror());
hdhomerun_control_close_sock(cs);
return FALSE;
return false;
}
return TRUE;
return true;
}
static bool_t hdhomerun_control_recv_sock(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *rx_pkt, uint16_t *ptype, uint64_t recv_timeout)
static bool hdhomerun_control_recv_sock(struct hdhomerun_control_sock_t *cs, struct hdhomerun_pkt_t *rx_pkt, uint16_t *ptype, uint64_t recv_timeout)
{
uint64_t stop_time = getcurrenttime() + recv_timeout;
hdhomerun_pkt_reset(rx_pkt);
@ -185,14 +185,14 @@ static bool_t hdhomerun_control_recv_sock(struct hdhomerun_control_sock_t *cs, s
if (current_time >= stop_time) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: timeout\n");
hdhomerun_control_close_sock(cs);
return FALSE;
return false;
}
size_t length = rx_pkt->limit - rx_pkt->end;
if (!hdhomerun_sock_recv(cs->sock, rx_pkt->end, &length, stop_time - current_time)) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: recv failed (%d)\n", hdhomerun_sock_getlasterror());
hdhomerun_control_close_sock(cs);
return FALSE;
return false;
}
rx_pkt->end += length;
@ -201,10 +201,10 @@ static bool_t hdhomerun_control_recv_sock(struct hdhomerun_control_sock_t *cs, s
if (ret < 0) {
hdhomerun_debug_printf(cs->dbg, "hdhomerun_control_recv_sock: frame error\n");
hdhomerun_control_close_sock(cs);
return FALSE;
return false;
}
if (ret > 0) {
return TRUE;
return true;
}
}
}
@ -355,7 +355,7 @@ int hdhomerun_control_upgrade(struct hdhomerun_control_sock_t *cs, FILE *upgrade
{
struct hdhomerun_pkt_t *tx_pkt = &cs->tx_pkt;
struct hdhomerun_pkt_t *rx_pkt = &cs->rx_pkt;
bool_t upload_delay = FALSE;
bool upload_delay = false;
uint32_t sequence = 0;
/* Special case detection. */

View file

@ -49,8 +49,8 @@ struct hdhomerun_debug_message_t
struct hdhomerun_debug_t
{
pthread_t thread;
volatile bool_t enabled;
volatile bool_t terminate;
volatile bool enabled;
volatile bool terminate;
char *prefix;
pthread_mutex_t print_lock;
@ -95,7 +95,7 @@ void hdhomerun_debug_destroy(struct hdhomerun_debug_t *dbg)
return;
}
dbg->terminate = TRUE;
dbg->terminate = true;
pthread_join(dbg->thread, NULL);
if (dbg->prefix) {
@ -206,7 +206,7 @@ void hdhomerun_debug_enable(struct hdhomerun_debug_t *dbg)
return;
}
dbg->enabled = TRUE;
dbg->enabled = true;
}
void hdhomerun_debug_disable(struct hdhomerun_debug_t *dbg)
@ -215,13 +215,13 @@ void hdhomerun_debug_disable(struct hdhomerun_debug_t *dbg)
return;
}
dbg->enabled = FALSE;
dbg->enabled = false;
}
bool_t hdhomerun_debug_enabled(struct hdhomerun_debug_t *dbg)
bool hdhomerun_debug_enabled(struct hdhomerun_debug_t *dbg)
{
if (!dbg) {
return FALSE;
return false;
}
return dbg->enabled;
@ -327,68 +327,68 @@ void hdhomerun_debug_vprintf(struct hdhomerun_debug_t *dbg, const char *fmt, va_
}
/* Send lock held by caller */
static bool_t hdhomerun_debug_output_message_file(struct hdhomerun_debug_t *dbg, struct hdhomerun_debug_message_t *message)
static bool hdhomerun_debug_output_message_file(struct hdhomerun_debug_t *dbg, struct hdhomerun_debug_message_t *message)
{
if (!dbg->file_fp) {
uint64_t current_time = getcurrenttime();
if (current_time < dbg->connect_delay) {
return FALSE;
return false;
}
dbg->connect_delay = current_time + 30*1000;
dbg->file_fp = fopen(dbg->file_name, "a");
if (!dbg->file_fp) {
return FALSE;
return false;
}
}
fprintf(dbg->file_fp, "%s", message->buffer);
fflush(dbg->file_fp);
return TRUE;
return true;
}
/* Send lock held by caller */
static bool_t hdhomerun_debug_output_message_sock(struct hdhomerun_debug_t *dbg, struct hdhomerun_debug_message_t *message)
static bool hdhomerun_debug_output_message_sock(struct hdhomerun_debug_t *dbg, struct hdhomerun_debug_message_t *message)
{
if (!dbg->sock) {
uint64_t current_time = getcurrenttime();
if (current_time < dbg->connect_delay) {
return FALSE;
return false;
}
dbg->connect_delay = current_time + HDHOMERUN_DEBUG_CONNECT_RETRY_TIME;
dbg->sock = hdhomerun_sock_create_tcp();
if (!dbg->sock) {
return FALSE;
return false;
}
uint32_t remote_addr = hdhomerun_sock_getaddrinfo_addr(dbg->sock, HDHOMERUN_DEBUG_HOST);
if (remote_addr == 0) {
hdhomerun_debug_close_internal(dbg);
return FALSE;
return false;
}
if (!hdhomerun_sock_connect(dbg->sock, remote_addr, HDHOMERUN_DEBUG_PORT, HDHOMERUN_DEBUG_CONNECT_TIMEOUT)) {
hdhomerun_debug_close_internal(dbg);
return FALSE;
return false;
}
}
size_t length = strlen(message->buffer);
if (!hdhomerun_sock_send(dbg->sock, message->buffer, length, HDHOMERUN_DEBUG_SEND_TIMEOUT)) {
hdhomerun_debug_close_internal(dbg);
return FALSE;
return false;
}
return TRUE;
return true;
}
static bool_t hdhomerun_debug_output_message(struct hdhomerun_debug_t *dbg, struct hdhomerun_debug_message_t *message)
static bool hdhomerun_debug_output_message(struct hdhomerun_debug_t *dbg, struct hdhomerun_debug_message_t *message)
{
pthread_mutex_lock(&dbg->send_lock);
bool_t ret;
bool ret;
if (dbg->file_name) {
ret = hdhomerun_debug_output_message_file(dbg, message);
} else {

View file

@ -39,7 +39,7 @@ extern LIBHDHOMERUN_API void hdhomerun_debug_set_prefix(struct hdhomerun_debug_t
extern LIBHDHOMERUN_API void hdhomerun_debug_set_filename(struct hdhomerun_debug_t *dbg, const char *filename);
extern LIBHDHOMERUN_API void hdhomerun_debug_enable(struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API void hdhomerun_debug_disable(struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API bool_t hdhomerun_debug_enabled(struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API bool hdhomerun_debug_enabled(struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API void hdhomerun_debug_flush(struct hdhomerun_debug_t *dbg, uint64_t timeout);
extern LIBHDHOMERUN_API void hdhomerun_debug_close(struct hdhomerun_debug_t *dbg, uint64_t timeout);

View file

@ -339,7 +339,7 @@ struct hdhomerun_video_sock_t *hdhomerun_device_get_video_sock(struct hdhomerun_
return hd->vs;
}
bool_t allow_port_reuse = (hd->multicast_port != 0);
bool allow_port_reuse = (hd->multicast_port != 0);
hd->vs = hdhomerun_video_create(hd->multicast_port, allow_port_reuse, VIDEO_DATA_BUFFER_SIZE_1S * 2, hd->dbg);
if (!hd->vs) {
@ -372,22 +372,22 @@ static uint32_t hdhomerun_device_get_status_parse(const char *status_str, const
return (uint32_t)value;
}
static bool_t hdhomerun_device_get_tuner_status_lock_is_bcast(struct hdhomerun_tuner_status_t *status)
static bool hdhomerun_device_get_tuner_status_lock_is_bcast(struct hdhomerun_tuner_status_t *status)
{
if (strcmp(status->lock_str, "8vsb") == 0) {
return TRUE;
return true;
}
if (strncmp(status->lock_str, "t8", 2) == 0) {
return TRUE;
return true;
}
if (strncmp(status->lock_str, "t7", 2) == 0) {
return TRUE;
return true;
}
if (strncmp(status->lock_str, "t6", 2) == 0) {
return TRUE;
return true;
}
return FALSE;
return false;
}
uint32_t hdhomerun_device_get_tuner_status_ss_color(struct hdhomerun_tuner_status_t *status)
@ -481,9 +481,9 @@ int hdhomerun_device_get_tuner_status(struct hdhomerun_device_t *hd, char **psta
if (strcmp(status->lock_str, "none") != 0) {
if (status->lock_str[0] == '(') {
status->lock_unsupported = TRUE;
status->lock_unsupported = true;
} else {
status->lock_supported = TRUE;
status->lock_supported = true;
}
}
}
@ -579,21 +579,21 @@ int hdhomerun_device_get_tuner_vstatus(struct hdhomerun_device_t *hd, char **pvs
}
if (strncmp(vstatus->auth, "not-subscribed", 14) == 0) {
vstatus->not_subscribed = TRUE;
vstatus->not_subscribed = true;
}
if (strncmp(vstatus->auth, "error", 5) == 0) {
vstatus->not_available = TRUE;
vstatus->not_available = true;
}
if (strncmp(vstatus->auth, "dialog", 6) == 0) {
vstatus->not_available = TRUE;
vstatus->not_available = true;
}
if (strncmp(vstatus->cci, "protected", 9) == 0) {
vstatus->copy_protected = TRUE;
vstatus->copy_protected = true;
}
if (strncmp(vstatus->cgms, "protected", 9) == 0) {
vstatus->copy_protected = TRUE;
vstatus->copy_protected = true;
}
}
@ -885,7 +885,7 @@ int hdhomerun_device_set_tuner_filter(struct hdhomerun_device_t *hd, const char
return hdhomerun_control_set_with_lockkey(hd->cs, name, filter, hd->lockkey, NULL, NULL);
}
static bool_t hdhomerun_device_set_tuner_filter_by_array_append(char *ptr, char *end, uint16_t range_begin, uint16_t range_end)
static bool hdhomerun_device_set_tuner_filter_by_array_append(char *ptr, char *end, uint16_t range_begin, uint16_t range_end)
{
if (range_begin == range_end) {
return hdhomerun_sprintf(ptr, end, "0x%04x ", (unsigned int)range_begin);

View file

@ -39,7 +39,7 @@ struct hdhomerun_device_selector_t *hdhomerun_device_selector_create(struct hdho
return hds;
}
void hdhomerun_device_selector_destroy(struct hdhomerun_device_selector_t *hds, bool_t destroy_devices)
void hdhomerun_device_selector_destroy(struct hdhomerun_device_selector_t *hds, bool destroy_devices)
{
if (destroy_devices) {
size_t index;
@ -313,7 +313,7 @@ int hdhomerun_device_selector_load_from_windows_registry(struct hdhomerun_device
}
#endif
static bool_t hdhomerun_device_selector_choose_test(struct hdhomerun_device_selector_t *hds, struct hdhomerun_device_t *test_hd)
static bool hdhomerun_device_selector_choose_test(struct hdhomerun_device_selector_t *hds, struct hdhomerun_device_t *test_hd)
{
const char *name = hdhomerun_device_get_name(test_hd);
@ -324,11 +324,11 @@ static bool_t hdhomerun_device_selector_choose_test(struct hdhomerun_device_sele
int ret = hdhomerun_device_tuner_lockkey_request(test_hd, &error);
if (ret > 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s chosen\n", name);
return TRUE;
return true;
}
if (ret < 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s communication error\n", name);
return FALSE;
return false;
}
/*
@ -338,35 +338,35 @@ static bool_t hdhomerun_device_selector_choose_test(struct hdhomerun_device_sele
ret = hdhomerun_device_get_tuner_target(test_hd, &target);
if (ret < 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s communication error\n", name);
return FALSE;
return false;
}
if (ret == 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use, failed to read target\n", name);
return FALSE;
return false;
}
if (strcmp(target, "none") == 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use, no target set\n", name);
return FALSE;
return false;
}
if ((strncmp(target, "udp://", 6) != 0) && (strncmp(target, "rtp://", 6) != 0)) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use by %s\n", name, target);
return FALSE;
return false;
}
unsigned int a[4];
unsigned int target_port;
if (sscanf(target + 6, "%u.%u.%u.%u:%u", &a[0], &a[1], &a[2], &a[3], &target_port) != 5) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use, unexpected target set (%s)\n", name, target);
return FALSE;
return false;
}
uint32_t target_ip = (uint32_t)((a[0] << 24) | (a[1] << 16) | (a[2] << 8) | (a[3] << 0));
uint32_t local_ip = hdhomerun_device_get_local_machine_addr(test_hd);
if (target_ip != local_ip) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use by %s\n", name, target);
return FALSE;
return false;
}
/*
@ -375,15 +375,15 @@ static bool_t hdhomerun_device_selector_choose_test(struct hdhomerun_device_sele
struct hdhomerun_sock_t *test_sock = hdhomerun_sock_create_udp();
if (!test_sock) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use, failed to create test sock\n", name);
return FALSE;
return false;
}
bool_t inuse = (hdhomerun_sock_bind(test_sock, INADDR_ANY, (uint16_t)target_port, FALSE) == FALSE);
bool inuse = (hdhomerun_sock_bind(test_sock, INADDR_ANY, (uint16_t)target_port, false) == false);
hdhomerun_sock_destroy(test_sock);
if (inuse) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use by local machine\n", name);
return FALSE;
return false;
}
/*
@ -392,11 +392,11 @@ static bool_t hdhomerun_device_selector_choose_test(struct hdhomerun_device_sele
ret = hdhomerun_device_tuner_lockkey_force(test_hd);
if (ret < 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s communication error\n", name);
return FALSE;
return false;
}
if (ret == 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use by local machine, dead target, failed to force release lockkey\n", name);
return FALSE;
return false;
}
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s in use by local machine, dead target, lockkey force successful\n", name);
@ -407,15 +407,15 @@ static bool_t hdhomerun_device_selector_choose_test(struct hdhomerun_device_sele
ret = hdhomerun_device_tuner_lockkey_request(test_hd, &error);
if (ret > 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s chosen\n", name);
return TRUE;
return true;
}
if (ret < 0) {
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s communication error\n", name);
return FALSE;
return false;
}
hdhomerun_debug_printf(hds->dbg, "hdhomerun_device_selector_choose_test: device %s still in use after lockkey force (%s)\n", name, error);
return FALSE;
return false;
}
struct hdhomerun_device_t *hdhomerun_device_selector_choose_and_lock(struct hdhomerun_device_selector_t *hds, struct hdhomerun_device_t *prefered)

View file

@ -28,7 +28,7 @@ extern "C" {
* The dbg parameter may be null.
*/
extern LIBHDHOMERUN_API struct hdhomerun_device_selector_t *hdhomerun_device_selector_create(struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API void hdhomerun_device_selector_destroy(struct hdhomerun_device_selector_t *hds, bool_t destroy_devices);
extern LIBHDHOMERUN_API void hdhomerun_device_selector_destroy(struct hdhomerun_device_selector_t *hds, bool destroy_devices);
/*
* Get the number of devices in the list.

View file

@ -24,7 +24,7 @@
struct hdhomerun_discover_sock_t {
struct hdhomerun_sock_t *sock;
bool_t detected;
bool detected;
uint32_t local_ip;
uint32_t subnet_mask;
};
@ -37,44 +37,44 @@ struct hdhomerun_discover_t {
struct hdhomerun_debug_t *dbg;
};
static bool_t hdhomerun_discover_sock_add(struct hdhomerun_discover_t *ds, uint32_t local_ip, uint32_t subnet_mask)
static bool hdhomerun_discover_sock_add(struct hdhomerun_discover_t *ds, uint32_t local_ip, uint32_t subnet_mask)
{
unsigned int i;
for (i = 1; i < ds->sock_count; i++) {
struct hdhomerun_discover_sock_t *dss = &ds->socks[i];
if ((dss->local_ip == local_ip) && (dss->subnet_mask == subnet_mask)) {
dss->detected = TRUE;
return TRUE;
dss->detected = true;
return true;
}
}
if (ds->sock_count >= HDHOMERUN_DISCOVER_MAX_SOCK_COUNT) {
return FALSE;
return false;
}
/* Create socket. */
struct hdhomerun_sock_t *sock = hdhomerun_sock_create_udp();
if (!sock) {
hdhomerun_debug_printf(ds->dbg, "discover: failed to allocate socket (%d)\n", hdhomerun_sock_getlasterror());
return FALSE;
return false;
}
/* Bind socket. */
if (!hdhomerun_sock_bind(sock, local_ip, 0, FALSE)) {
if (!hdhomerun_sock_bind(sock, local_ip, 0, false)) {
hdhomerun_debug_printf(ds->dbg, "discover: failed to bind to %u.%u.%u.%u:0\n", (unsigned int)(local_ip >> 24) & 0xFF, (unsigned int)(local_ip >> 16) & 0xFF, (unsigned int)(local_ip >> 8) & 0xFF, (unsigned int)(local_ip >> 0) & 0xFF);
hdhomerun_sock_destroy(sock);
return FALSE;
return false;
}
/* Write sock entry. */
struct hdhomerun_discover_sock_t *dss = &ds->socks[ds->sock_count++];
dss->sock = sock;
dss->detected = TRUE;
dss->detected = true;
dss->local_ip = local_ip;
dss->subnet_mask = subnet_mask;
return TRUE;
return true;
}
struct hdhomerun_discover_t *hdhomerun_discover_create(struct hdhomerun_debug_t *dbg)
@ -112,7 +112,7 @@ static void hdhomerun_discover_sock_detect(struct hdhomerun_discover_t *ds)
unsigned int i;
for (i = 1; i < ds->sock_count; i++) {
struct hdhomerun_discover_sock_t *dss = &ds->socks[i];
dss->detected = FALSE;
dss->detected = false;
}
struct hdhomerun_local_ip_info_t ip_info_list[HDHOMERUN_DISCOVER_MAX_SOCK_COUNT];
@ -152,7 +152,7 @@ static void hdhomerun_discover_sock_detect(struct hdhomerun_discover_t *ds)
ds->sock_count = count;
}
static bool_t hdhomerun_discover_send_internal(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_sock_t *dss, uint32_t target_ip, uint32_t device_type, uint32_t device_id)
static bool hdhomerun_discover_send_internal(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_sock_t *dss, uint32_t target_ip, uint32_t device_type, uint32_t device_id)
{
struct hdhomerun_pkt_t *tx_pkt = &ds->tx_pkt;
hdhomerun_pkt_reset(tx_pkt);
@ -168,9 +168,9 @@ static bool_t hdhomerun_discover_send_internal(struct hdhomerun_discover_t *ds,
return hdhomerun_sock_sendto(dss->sock, target_ip, HDHOMERUN_DISCOVER_UDP_PORT, tx_pkt->start, tx_pkt->end - tx_pkt->start, 0);
}
static bool_t hdhomerun_discover_send_wildcard_ip(struct hdhomerun_discover_t *ds, uint32_t device_type, uint32_t device_id)
static bool hdhomerun_discover_send_wildcard_ip(struct hdhomerun_discover_t *ds, uint32_t device_type, uint32_t device_id)
{
bool_t result = FALSE;
bool result = false;
/*
* Send subnet broadcast using each local ip socket.
@ -194,9 +194,9 @@ static bool_t hdhomerun_discover_send_wildcard_ip(struct hdhomerun_discover_t *d
return result;
}
static bool_t hdhomerun_discover_send_target_ip(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id)
static bool hdhomerun_discover_send_target_ip(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id)
{
bool_t result = FALSE;
bool result = false;
/*
* Send targeted packet from any local ip that is in the same subnet.
@ -226,7 +226,7 @@ static bool_t hdhomerun_discover_send_target_ip(struct hdhomerun_discover_t *ds,
return result;
}
static bool_t hdhomerun_discover_send(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id)
static bool hdhomerun_discover_send(struct hdhomerun_discover_t *ds, uint32_t target_ip, uint32_t device_type, uint32_t device_id)
{
if (target_ip == 0) {
return hdhomerun_discover_send_wildcard_ip(ds, device_type, device_id);
@ -235,7 +235,7 @@ static bool_t hdhomerun_discover_send(struct hdhomerun_discover_t *ds, uint32_t
}
}
static bool_t hdhomerun_discover_is_legacy(uint32_t device_id)
static bool hdhomerun_discover_is_legacy(uint32_t device_id)
{
switch (device_id >> 20) {
case 0x100: /* TECH-US/TECH3-US */
@ -250,14 +250,14 @@ static bool_t hdhomerun_discover_is_legacy(uint32_t device_id)
case 0x111: /* HDHR3-DT */
case 0x121: /* HDHR-EU */
case 0x122: /* HDHR3-EU */
return TRUE;
return true;
default:
return FALSE;
return false;
}
}
static bool_t hdhomerun_discover_recv_internal(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_sock_t *dss, struct hdhomerun_discover_device_t *result)
static bool hdhomerun_discover_recv_internal(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_sock_t *dss, struct hdhomerun_discover_device_t *result)
{
static char hdhomerun_discover_recv_base64_encode_table[64 + 1] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
struct hdhomerun_pkt_t *rx_pkt = &ds->rx_pkt;
@ -267,17 +267,17 @@ static bool_t hdhomerun_discover_recv_internal(struct hdhomerun_discover_t *ds,
uint16_t remote_port;
size_t length = rx_pkt->limit - rx_pkt->end;
if (!hdhomerun_sock_recvfrom(dss->sock, &remote_addr, &remote_port, rx_pkt->end, &length, 0)) {
return FALSE;
return false;
}
rx_pkt->end += length;
uint16_t type;
if (hdhomerun_pkt_open_frame(rx_pkt, &type) <= 0) {
return FALSE;
return false;
}
if (type != HDHOMERUN_TYPE_DISCOVER_RPY) {
return FALSE;
return false;
}
memset(result, 0, sizeof(struct hdhomerun_discover_device_t));
@ -377,21 +377,21 @@ static bool_t hdhomerun_discover_recv_internal(struct hdhomerun_discover_t *ds,
}
}
return TRUE;
return true;
}
static bool_t hdhomerun_discover_recv(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_device_t *result)
static bool hdhomerun_discover_recv(struct hdhomerun_discover_t *ds, struct hdhomerun_discover_device_t *result)
{
unsigned int i;
for (i = 0; i < ds->sock_count; i++) {
struct hdhomerun_discover_sock_t *dss = &ds->socks[i];
if (hdhomerun_discover_recv_internal(ds, dss, result)) {
return TRUE;
return true;
}
}
return FALSE;
return false;
}
static struct hdhomerun_discover_device_t *hdhomerun_discover_find_in_list(struct hdhomerun_discover_device_t result_list[], int count, struct hdhomerun_discover_device_t *lookup)
@ -476,7 +476,7 @@ int hdhomerun_discover_find_devices_custom_v2(uint32_t target_ip, uint32_t devic
return ret;
}
bool_t hdhomerun_discover_validate_device_id(uint32_t device_id)
bool hdhomerun_discover_validate_device_id(uint32_t device_id)
{
static uint8_t lookup_table[16] = {0xA, 0x5, 0xF, 0x6, 0x7, 0xC, 0x1, 0xB, 0x9, 0x2, 0x8, 0xD, 0x4, 0x3, 0xE, 0x0};
@ -494,7 +494,7 @@ bool_t hdhomerun_discover_validate_device_id(uint32_t device_id)
return (checksum == 0);
}
bool_t hdhomerun_discover_is_ip_multicast(uint32_t ip_addr)
bool hdhomerun_discover_is_ip_multicast(uint32_t ip_addr)
{
return (ip_addr >= 0xE0000000) && (ip_addr < 0xF0000000);
}

View file

@ -26,7 +26,7 @@ struct hdhomerun_discover_device_t {
uint32_t device_type;
uint32_t device_id;
uint8_t tuner_count;
bool_t is_legacy;
bool is_legacy;
char device_auth[25];
char base_url[29];
};
@ -60,18 +60,18 @@ extern LIBHDHOMERUN_API int hdhomerun_discover_find_devices_v2(struct hdhomerun_
* The device ID contains a self-check sequence that detects common user input errors including
* single-digit errors and two digit transposition errors.
*
* Returns TRUE if valid.
* Returns FALSE if not valid.
* Returns true if valid.
* Returns false if not valid.
*/
extern LIBHDHOMERUN_API bool_t hdhomerun_discover_validate_device_id(uint32_t device_id);
extern LIBHDHOMERUN_API bool hdhomerun_discover_validate_device_id(uint32_t device_id);
/*
* Detect if an IP address is multicast.
*
* Returns TRUE if multicast.
* Returns FALSE if zero, unicast, expermental, or broadcast.
* Returns true if multicast.
* Returns false if zero, unicast, expermental, or broadcast.
*/
extern LIBHDHOMERUN_API bool_t hdhomerun_discover_is_ip_multicast(uint32_t ip_addr);
extern LIBHDHOMERUN_API bool hdhomerun_discover_is_ip_multicast(uint32_t ip_addr);
#ifdef __cplusplus
}

View file

@ -23,11 +23,3 @@
#else
#include "hdhomerun_os_posix.h"
#endif
#if !defined(TRUE)
#define TRUE 1
#endif
#if !defined(FALSE)
#define FALSE 0
#endif

View file

@ -130,7 +130,7 @@ void pthread_mutex_dispose(pthread_mutex_t *mutex)
void thread_cond_init(thread_cond_t *cond)
{
cond->signaled = FALSE;
cond->signaled = false;
pthread_mutex_init(&cond->lock, NULL);
pthread_cond_init(&cond->cond, NULL);
}
@ -143,7 +143,7 @@ void thread_cond_signal(thread_cond_t *cond)
{
pthread_mutex_lock(&cond->lock);
cond->signaled = TRUE;
cond->signaled = true;
pthread_cond_signal(&cond->cond);
pthread_mutex_unlock(&cond->lock);
@ -157,7 +157,7 @@ void thread_cond_wait(thread_cond_t *cond)
pthread_cond_wait(&cond->cond, &cond->lock);
}
cond->signaled = FALSE;
cond->signaled = false;
pthread_mutex_unlock(&cond->lock);
}
@ -176,36 +176,36 @@ void thread_cond_wait_with_timeout(thread_cond_t *cond, uint64_t max_wait_time)
pthread_cond_timedwait(&cond->cond, &cond->lock, &ts);
}
cond->signaled = FALSE;
cond->signaled = false;
pthread_mutex_unlock(&cond->lock);
}
bool_t hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap)
bool hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap)
{
if (buffer >= end) {
return FALSE;
return false;
}
int length = vsnprintf(buffer, end - buffer - 1, fmt, ap);
if (length < 0) {
*buffer = 0;
return FALSE;
return false;
}
if (buffer + length + 1 > end) {
*(end - 1) = 0;
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...)
bool hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
bool_t result = hdhomerun_vsprintf(buffer, end, fmt, ap);
bool result = hdhomerun_vsprintf(buffer, end, fmt, ap);
va_end(ap);
return result;
}

View file

@ -22,6 +22,8 @@
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
@ -37,11 +39,10 @@
#include <netdb.h>
#include <pthread.h>
typedef uint8_t bool_t;
typedef void (*sig_t)(int);
typedef struct {
volatile bool_t signaled;
volatile bool signaled;
pthread_mutex_t lock;
pthread_cond_t cond;
} thread_cond_t;
@ -67,8 +68,8 @@ extern LIBHDHOMERUN_API void thread_cond_signal(thread_cond_t *cond);
extern LIBHDHOMERUN_API void thread_cond_wait(thread_cond_t *cond);
extern LIBHDHOMERUN_API void thread_cond_wait_with_timeout(thread_cond_t *cond, uint64_t max_wait_time);
extern LIBHDHOMERUN_API bool_t hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap);
extern LIBHDHOMERUN_API bool_t hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...);
extern LIBHDHOMERUN_API bool hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap);
extern LIBHDHOMERUN_API bool hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...);
#ifdef __cplusplus
}

View file

@ -97,7 +97,7 @@ int pthread_join(pthread_t tid, void **value_ptr)
void pthread_mutex_init(pthread_mutex_t *mutex, void *attr)
{
*mutex = CreateMutex(NULL, FALSE, NULL);
*mutex = CreateMutex(NULL, false, NULL);
}
void pthread_mutex_dispose(pthread_mutex_t *mutex)
@ -117,7 +117,7 @@ void pthread_mutex_unlock(pthread_mutex_t *mutex)
void thread_cond_init(thread_cond_t *cond)
{
*cond = CreateEvent(NULL, FALSE, FALSE, NULL);
*cond = CreateEvent(NULL, false, false, NULL);
}
void thread_cond_dispose(thread_cond_t *cond)
@ -140,32 +140,32 @@ void thread_cond_wait_with_timeout(thread_cond_t *cond, uint64_t max_wait_time)
WaitForSingleObject(*cond, (DWORD)max_wait_time);
}
bool_t hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap)
bool hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap)
{
if (buffer >= end) {
return FALSE;
return false;
}
int length = _vsnprintf(buffer, end - buffer - 1, fmt, ap);
if (length < 0) {
*buffer = 0;
return FALSE;
return false;
}
if (buffer + length + 1 > end) {
*(end - 1) = 0;
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...)
bool hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
bool_t result = hdhomerun_vsprintf(buffer, end, fmt, ap);
bool result = hdhomerun_vsprintf(buffer, end, fmt, ap);
va_end(ap);
return result;
}

View file

@ -40,6 +40,7 @@
#include <stdio.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <signal.h>
#include <time.h>
@ -55,7 +56,6 @@
#define LIBHDHOMERUN_API
#endif
typedef uint8_t bool_t;
typedef void (*sig_t)(int);
typedef HANDLE pthread_t;
typedef HANDLE pthread_mutex_t;
@ -96,8 +96,8 @@ extern LIBHDHOMERUN_API void thread_cond_signal(thread_cond_t *cond);
extern LIBHDHOMERUN_API void thread_cond_wait(thread_cond_t *cond);
extern LIBHDHOMERUN_API void thread_cond_wait_with_timeout(thread_cond_t *cond, uint64_t max_wait_time);
extern LIBHDHOMERUN_API bool_t hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap);
extern LIBHDHOMERUN_API bool_t hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...);
extern LIBHDHOMERUN_API bool hdhomerun_vsprintf(char *buffer, char *end, const char *fmt, va_list ap);
extern LIBHDHOMERUN_API bool hdhomerun_sprintf(char *buffer, char *end, const char *fmt, ...);
#ifdef __cplusplus
}

View file

@ -46,17 +46,17 @@ extern LIBHDHOMERUN_API uint16_t hdhomerun_sock_getsockname_port(struct hdhomeru
extern LIBHDHOMERUN_API uint32_t hdhomerun_sock_getpeername_addr(struct hdhomerun_sock_t *sock);
extern LIBHDHOMERUN_API uint32_t hdhomerun_sock_getaddrinfo_addr(struct hdhomerun_sock_t *sock, const char *name);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip);
extern LIBHDHOMERUN_API bool hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip);
extern LIBHDHOMERUN_API bool hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, uint16_t local_port, bool_t allow_reuse);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, uint64_t timeout);
extern LIBHDHOMERUN_API bool hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, uint16_t local_port, bool allow_reuse);
extern LIBHDHOMERUN_API bool hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, uint64_t timeout);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size_t length, uint64_t timeout);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, const void *data, size_t length, uint64_t timeout);
extern LIBHDHOMERUN_API bool hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size_t length, uint64_t timeout);
extern LIBHDHOMERUN_API bool hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, const void *data, size_t length, uint64_t timeout);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *length, uint64_t timeout);
extern LIBHDHOMERUN_API bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_addr, uint16_t *remote_port, void *data, size_t *length, uint64_t timeout);
extern LIBHDHOMERUN_API bool hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *length, uint64_t timeout);
extern LIBHDHOMERUN_API bool hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_addr, uint16_t *remote_port, void *data, size_t *length, uint64_t timeout);
#ifdef __cplusplus
}

View file

@ -267,7 +267,7 @@ uint32_t hdhomerun_sock_getaddrinfo_addr(struct hdhomerun_sock_t *sock, const ch
return addr;
}
bool_t hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
bool hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
{
struct ip_mreq imr;
memset(&imr, 0, sizeof(imr));
@ -275,13 +275,13 @@ bool_t hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32
imr.imr_interface.s_addr = htonl(local_ip);
if (setsockopt(sock->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char *)&imr, sizeof(imr)) != 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
bool hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
{
struct ip_mreq imr;
memset(&imr, 0, sizeof(imr));
@ -289,13 +289,13 @@ bool_t hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint3
imr.imr_interface.s_addr = htonl(local_ip);
if (setsockopt(sock->sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, (const char *)&imr, sizeof(imr)) != 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, uint16_t local_port, bool_t allow_reuse)
bool hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, uint16_t local_port, bool allow_reuse)
{
int sock_opt = allow_reuse;
setsockopt(sock->sock, SOL_SOCKET, SO_REUSEADDR, (char *)&sock_opt, sizeof(sock_opt));
@ -307,13 +307,13 @@ bool_t hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, u
sock_addr.sin_port = htons(local_port);
if (bind(sock->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, uint64_t timeout)
bool hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, uint64_t timeout)
{
struct sockaddr_in sock_addr;
memset(&sock_addr, 0, sizeof(sock_addr));
@ -323,7 +323,7 @@ bool_t hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_add
if (connect(sock->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) {
if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
}
@ -333,26 +333,26 @@ bool_t hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_add
poll_event.revents = 0;
if (poll(&poll_event, 1, (int)timeout) <= 0) {
return FALSE;
return false;
}
if ((poll_event.revents & POLLOUT) == 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size_t length, uint64_t timeout)
bool hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size_t length, uint64_t timeout)
{
const uint8_t *ptr = (const uint8_t *)data;
ssize_t ret = send(sock->sock, ptr, length, MSG_NOSIGNAL);
if (ret >= (ssize_t)length) {
return TRUE;
return true;
}
if ((ret < 0) && (errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
if (ret > 0) {
@ -369,20 +369,20 @@ bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size
poll_event.revents = 0;
if (poll(&poll_event, 1, (int)timeout) <= 0) {
return FALSE;
return false;
}
if ((poll_event.revents & POLLOUT) == 0) {
return FALSE;
return false;
}
ret = send(sock->sock, ptr, length, MSG_NOSIGNAL);
if (ret >= (ssize_t)length) {
return TRUE;
return true;
}
if ((ret < 0) && (errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
if (ret > 0) {
@ -392,14 +392,14 @@ bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size
uint64_t current_time = getcurrenttime();
if (current_time >= stop_time) {
return FALSE;
return false;
}
timeout = stop_time - current_time;
}
}
bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, const void *data, size_t length, uint64_t timeout)
bool hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, const void *data, size_t length, uint64_t timeout)
{
struct sockaddr_in sock_addr;
memset(&sock_addr, 0, sizeof(sock_addr));
@ -410,11 +410,11 @@ bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr
const uint8_t *ptr = (const uint8_t *)data;
ssize_t ret = sendto(sock->sock, ptr, length, 0, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
if (ret >= (ssize_t)length) {
return TRUE;
return true;
}
if ((ret < 0) && (errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
if (ret > 0) {
@ -431,20 +431,20 @@ bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr
poll_event.revents = 0;
if (poll(&poll_event, 1, (int)timeout) <= 0) {
return FALSE;
return false;
}
if ((poll_event.revents & POLLOUT) == 0) {
return FALSE;
return false;
}
ret = sendto(sock->sock, ptr, length, 0, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
if (ret >= (ssize_t)length) {
return TRUE;
return true;
}
if ((ret < 0) && (errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
if (ret > 0) {
@ -454,26 +454,26 @@ bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr
uint64_t current_time = getcurrenttime();
if (current_time >= stop_time) {
return FALSE;
return false;
}
timeout = stop_time - current_time;
}
}
bool_t hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *length, uint64_t timeout)
bool hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *length, uint64_t timeout)
{
ssize_t ret = recv(sock->sock, data, *length, 0);
if (ret > 0) {
*length = ret;
return TRUE;
return true;
}
if (ret == 0) {
return FALSE;
return false;
}
if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
struct pollfd poll_event;
@ -482,23 +482,23 @@ bool_t hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *le
poll_event.revents = 0;
if (poll(&poll_event, 1, (int)timeout) <= 0) {
return FALSE;
return false;
}
if ((poll_event.revents & POLLIN) == 0) {
return FALSE;
return false;
}
ret = recv(sock->sock, data, *length, 0);
if (ret > 0) {
*length = ret;
return TRUE;
return true;
}
return FALSE;
return false;
}
bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_addr, uint16_t *remote_port, void *data, size_t *length, uint64_t timeout)
bool hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_addr, uint16_t *remote_port, void *data, size_t *length, uint64_t timeout)
{
struct sockaddr_in sock_addr;
memset(&sock_addr, 0, sizeof(sock_addr));
@ -509,14 +509,14 @@ bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_a
*remote_addr = ntohl(sock_addr.sin_addr.s_addr);
*remote_port = ntohs(sock_addr.sin_port);
*length = ret;
return TRUE;
return true;
}
if (ret == 0) {
return FALSE;
return false;
}
if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINPROGRESS)) {
return FALSE;
return false;
}
struct pollfd poll_event;
@ -525,11 +525,11 @@ bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_a
poll_event.revents = 0;
if (poll(&poll_event, 1, (int)timeout) <= 0) {
return FALSE;
return false;
}
if ((poll_event.revents & POLLIN) == 0) {
return FALSE;
return false;
}
ret = recvfrom(sock->sock, data, *length, 0, (struct sockaddr *)&sock_addr, &sockaddr_size);
@ -537,8 +537,8 @@ bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_a
*remote_addr = ntohl(sock_addr.sin_addr.s_addr);
*remote_port = ntohs(sock_addr.sin_port);
*length = ret;
return TRUE;
return true;
}
return FALSE;
return false;
}

View file

@ -165,7 +165,7 @@ static struct hdhomerun_sock_t *hdhomerun_sock_create_internal(int protocol)
}
/* Event */
sock->event = CreateEvent(NULL, FALSE, FALSE, NULL);
sock->event = CreateEvent(NULL, false, false, NULL);
if (!sock->event) {
hdhomerun_sock_destroy(sock);
return NULL;
@ -289,7 +289,7 @@ uint32_t hdhomerun_sock_getaddrinfo_addr(struct hdhomerun_sock_t *sock, const ch
return addr;
}
bool_t hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
bool hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
{
struct ip_mreq imr;
memset(&imr, 0, sizeof(imr));
@ -297,13 +297,13 @@ bool_t hdhomerun_sock_join_multicast_group(struct hdhomerun_sock_t *sock, uint32
imr.imr_interface.s_addr = htonl(local_ip);
if (setsockopt(sock->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char *)&imr, sizeof(imr)) != 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
bool hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint32_t multicast_ip, uint32_t local_ip)
{
struct ip_mreq imr;
memset(&imr, 0, sizeof(imr));
@ -311,13 +311,13 @@ bool_t hdhomerun_sock_leave_multicast_group(struct hdhomerun_sock_t *sock, uint3
imr.imr_interface.s_addr = htonl(local_ip);
if (setsockopt(sock->sock, IPPROTO_IP, IP_DROP_MEMBERSHIP, (const char *)&imr, sizeof(imr)) != 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, uint16_t local_port, bool_t allow_reuse)
bool hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, uint16_t local_port, bool allow_reuse)
{
int sock_opt = allow_reuse;
setsockopt(sock->sock, SOL_SOCKET, SO_REUSEADDR, (char *)&sock_opt, sizeof(sock_opt));
@ -329,29 +329,29 @@ bool_t hdhomerun_sock_bind(struct hdhomerun_sock_t *sock, uint32_t local_addr, u
sock_addr.sin_port = htons(local_port);
if (bind(sock->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_event_select(struct hdhomerun_sock_t *sock, long events)
bool hdhomerun_sock_event_select(struct hdhomerun_sock_t *sock, long events)
{
if (sock->events_selected != events) {
if (WSAEventSelect(sock->sock, sock->event, events) == SOCKET_ERROR) {
return FALSE;
return false;
}
sock->events_selected = events;
}
ResetEvent(sock->event);
return TRUE;
return true;
}
bool_t hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, uint64_t timeout)
bool hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, uint64_t timeout)
{
if (!hdhomerun_sock_event_select(sock, FD_WRITE | FD_CLOSE)) {
return FALSE;
return false;
}
struct sockaddr_in sock_addr;
@ -362,33 +362,33 @@ bool_t hdhomerun_sock_connect(struct hdhomerun_sock_t *sock, uint32_t remote_add
if (connect(sock->sock, (struct sockaddr *)&sock_addr, sizeof(sock_addr)) != 0) {
if (WSAGetLastError() != WSAEWOULDBLOCK) {
return FALSE;
return false;
}
}
DWORD wait_ret = WaitForSingleObjectEx(sock->event, (DWORD)timeout, FALSE);
DWORD wait_ret = WaitForSingleObjectEx(sock->event, (DWORD)timeout, false);
if (wait_ret != WAIT_OBJECT_0) {
return FALSE;
return false;
}
WSANETWORKEVENTS network_events;
if (WSAEnumNetworkEvents(sock->sock, sock->event, &network_events) == SOCKET_ERROR) {
return FALSE;
return false;
}
if ((network_events.lNetworkEvents & FD_WRITE) == 0) {
return FALSE;
return false;
}
if (network_events.lNetworkEvents & FD_CLOSE) {
return FALSE;
return false;
}
return TRUE;
return true;
}
bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size_t length, uint64_t timeout)
bool hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size_t length, uint64_t timeout)
{
if (!hdhomerun_sock_event_select(sock, FD_WRITE | FD_CLOSE)) {
return FALSE;
return false;
}
uint64_t stop_time = getcurrenttime() + timeout;
@ -397,11 +397,11 @@ bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size
while (1) {
int ret = send(sock->sock, (char *)ptr, (int)length, 0);
if (ret >= (int)length) {
return TRUE;
return true;
}
if ((ret == SOCKET_ERROR) && (WSAGetLastError() != WSAEWOULDBLOCK)) {
return FALSE;
return false;
}
if (ret > 0) {
@ -411,19 +411,19 @@ bool_t hdhomerun_sock_send(struct hdhomerun_sock_t *sock, const void *data, size
uint64_t current_time = getcurrenttime();
if (current_time >= stop_time) {
return FALSE;
return false;
}
if (WaitForSingleObjectEx(sock->event, (DWORD)(stop_time - current_time), FALSE) != WAIT_OBJECT_0) {
return FALSE;
if (WaitForSingleObjectEx(sock->event, (DWORD)(stop_time - current_time), false) != WAIT_OBJECT_0) {
return false;
}
}
}
bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, const void *data, size_t length, uint64_t timeout)
bool hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr, uint16_t remote_port, const void *data, size_t length, uint64_t timeout)
{
if (!hdhomerun_sock_event_select(sock, FD_WRITE | FD_CLOSE)) {
return FALSE;
return false;
}
struct sockaddr_in sock_addr;
@ -434,64 +434,64 @@ bool_t hdhomerun_sock_sendto(struct hdhomerun_sock_t *sock, uint32_t remote_addr
int ret = sendto(sock->sock, (char *)data, (int)length, 0, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
if (ret >= (int)length) {
return TRUE;
return true;
}
if (ret >= 0) {
return FALSE;
return false;
}
if (WSAGetLastError() != WSAEWOULDBLOCK) {
return FALSE;
return false;
}
if (WaitForSingleObjectEx(sock->event, (DWORD)timeout, FALSE) != WAIT_OBJECT_0) {
return FALSE;
if (WaitForSingleObjectEx(sock->event, (DWORD)timeout, false) != WAIT_OBJECT_0) {
return false;
}
ret = sendto(sock->sock, (char *)data, (int)length, 0, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
if (ret >= (int)length) {
return TRUE;
return true;
}
return FALSE;
return false;
}
bool_t hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *length, uint64_t timeout)
bool hdhomerun_sock_recv(struct hdhomerun_sock_t *sock, void *data, size_t *length, uint64_t timeout)
{
if (!hdhomerun_sock_event_select(sock, FD_READ | FD_CLOSE)) {
return FALSE;
return false;
}
int ret = recv(sock->sock, (char *)data, (int)(*length), 0);
if (ret > 0) {
*length = ret;
return TRUE;
return true;
}
if (ret == 0) {
return FALSE;
return false;
}
if (WSAGetLastError() != WSAEWOULDBLOCK) {
return FALSE;
return false;
}
if (WaitForSingleObjectEx(sock->event, (DWORD)timeout, FALSE) != WAIT_OBJECT_0) {
return FALSE;
if (WaitForSingleObjectEx(sock->event, (DWORD)timeout, false) != WAIT_OBJECT_0) {
return false;
}
ret = recv(sock->sock, (char *)data, (int)(*length), 0);
if (ret > 0) {
*length = ret;
return TRUE;
return true;
}
return FALSE;
return false;
}
bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_addr, uint16_t *remote_port, void *data, size_t *length, uint64_t timeout)
bool hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_addr, uint16_t *remote_port, void *data, size_t *length, uint64_t timeout)
{
if (!hdhomerun_sock_event_select(sock, FD_READ | FD_CLOSE)) {
return FALSE;
return false;
}
struct sockaddr_in sock_addr;
@ -503,18 +503,18 @@ bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_a
*remote_addr = ntohl(sock_addr.sin_addr.s_addr);
*remote_port = ntohs(sock_addr.sin_port);
*length = ret;
return TRUE;
return true;
}
if (ret == 0) {
return FALSE;
return false;
}
if (WSAGetLastError() != WSAEWOULDBLOCK) {
return FALSE;
return false;
}
if (WaitForSingleObjectEx(sock->event, (DWORD)timeout, FALSE) != WAIT_OBJECT_0) {
return FALSE;
if (WaitForSingleObjectEx(sock->event, (DWORD)timeout, false) != WAIT_OBJECT_0) {
return false;
}
ret = recvfrom(sock->sock, (char *)data, (int)(*length), 0, (struct sockaddr *)&sock_addr, &sockaddr_size);
@ -522,8 +522,8 @@ bool_t hdhomerun_sock_recvfrom(struct hdhomerun_sock_t *sock, uint32_t *remote_a
*remote_addr = ntohl(sock_addr.sin_addr.s_addr);
*remote_port = ntohs(sock_addr.sin_port);
*length = ret;
return TRUE;
return true;
}
return FALSE;
return false;
}

View file

@ -29,9 +29,9 @@ struct hdhomerun_device_allocation_t;
struct hdhomerun_tuner_status_t {
char channel[32];
char lock_str[32];
bool_t signal_present;
bool_t lock_supported;
bool_t lock_unsupported;
bool signal_present;
bool lock_supported;
bool lock_unsupported;
unsigned int signal_strength;
unsigned int signal_to_noise_quality;
unsigned int symbol_error_quality;
@ -45,9 +45,9 @@ struct hdhomerun_tuner_vstatus_t {
char auth[32];
char cci[32];
char cgms[32];
bool_t not_subscribed;
bool_t not_available;
bool_t copy_protected;
bool not_subscribed;
bool not_available;
bool copy_protected;
};
struct hdhomerun_channelscan_program_t {
@ -68,8 +68,8 @@ struct hdhomerun_channelscan_result_t {
struct hdhomerun_tuner_status_t status;
int program_count;
struct hdhomerun_channelscan_program_t programs[HDHOMERUN_CHANNELSCAN_MAX_PROGRAM_COUNT];
bool_t transport_stream_id_detected;
bool_t original_network_id_detected;
bool transport_stream_id_detected;
bool original_network_id_detected;
uint16_t transport_stream_id;
uint16_t original_network_id;
};

View file

@ -28,7 +28,7 @@ struct hdhomerun_video_sock_t {
uint32_t keepalive_lockkey;
uint32_t keepalive_addr;
uint16_t keepalive_port;
volatile bool_t keepalive_start;
volatile bool keepalive_start;
volatile size_t head;
volatile size_t tail;
@ -37,7 +37,7 @@ struct hdhomerun_video_sock_t {
size_t advance;
pthread_t thread;
volatile bool_t terminate;
volatile bool terminate;
volatile uint32_t packet_count;
volatile uint32_t transport_error_count;
@ -51,7 +51,7 @@ struct hdhomerun_video_sock_t {
static THREAD_FUNC_PREFIX hdhomerun_video_thread_execute(void *arg);
struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, bool_t allow_port_reuse, size_t buffer_size, struct hdhomerun_debug_t *dbg)
struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, bool allow_port_reuse, size_t buffer_size, struct hdhomerun_debug_t *dbg)
{
/* Create object. */
struct hdhomerun_video_sock_t *vs = (struct hdhomerun_video_sock_t *)calloc(1, sizeof(struct hdhomerun_video_sock_t));
@ -123,7 +123,7 @@ error:
void hdhomerun_video_destroy(struct hdhomerun_video_sock_t *vs)
{
vs->terminate = TRUE;
vs->terminate = true;
pthread_join(vs->thread, NULL);
hdhomerun_sock_destroy(vs->sock);
@ -142,7 +142,7 @@ void hdhomerun_video_set_keepalive(struct hdhomerun_video_sock_t *vs, uint32_t r
vs->keepalive_lockkey = lockkey;
if ((remote_addr != 0) && (remote_port != 0)) {
vs->keepalive_start = TRUE;
vs->keepalive_start = true;
}
pthread_mutex_unlock(&vs->lock);
@ -188,7 +188,7 @@ static void hdhomerun_video_stats_ts_pkt(struct hdhomerun_video_sock_t *vs, uint
return;
}
bool_t transport_error = ptr[1] >> 7;
bool transport_error = ptr[1] >> 7;
if (transport_error) {
vs->transport_error_count++;
vs->sequence[packet_identifier] = 0xFF;
@ -248,7 +248,7 @@ static void hdhomerun_video_thread_send_keepalive(struct hdhomerun_video_sock_t
uint32_t keepalive_lockkey = vs->keepalive_lockkey;
uint32_t keepalive_addr = vs->keepalive_addr;
uint16_t keepalive_port = vs->keepalive_port;
vs->keepalive_start = FALSE;
vs->keepalive_start = false;
pthread_mutex_unlock(&vs->lock);
if ((keepalive_addr == 0) || (keepalive_port == 0)) {

View file

@ -48,7 +48,7 @@ struct hdhomerun_video_stats_t {
*
* When no longer needed, the socket should be destroyed by calling hdhomerun_control_destroy.
*/
extern LIBHDHOMERUN_API struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, bool_t allow_port_reuse, size_t buffer_size, struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API struct hdhomerun_video_sock_t *hdhomerun_video_create(uint16_t listen_port, bool allow_port_reuse, size_t buffer_size, struct hdhomerun_debug_t *dbg);
extern LIBHDHOMERUN_API void hdhomerun_video_destroy(struct hdhomerun_video_sock_t *vs);
/*