blob: 5fa6d4176996684f6f4aea4414ca1eeb45de5137 [file] [log] [blame]
/*
** Copyright (c) 2015-2016 by Silicon Laboratories
**
** $Id: user_intf.h 5804 2016-06-30 19:45:40Z nizajerk $
**
** Distributed by:
** Silicon Laboratories, Inc
**
** This file contains proprietary information.
** No dissemination allowed without prior written permission from
** Silicon Laboratories, Inc.
**
** File Description:
**
** basic user interface header file
**
**
*/
#ifndef __PROSLIC_UI_HDR__
#define __PROSLIC_UI_HDR__
#include <stdio.h>
#include "si_voice_datatypes.h"
#define ASCII_ESC 27
#define PROSLIC_EOL '\n'
#define PROSLIC_CLS printf("%c[2J", ASCII_ESC)
#define PROSLIC_MAX_COL 80
#define PROSLIC_PROMPT "--> "
#define display_menu_prompt(X) printf("Select Menu item for chan: %u or 'q' to quit or 'r' to redisplay menu %s ", (X), PROSLIC_PROMPT)
#define REDISPLAY_MENU 0xFE
#define QUIT_MENU 0xFF
#ifdef SILABS_USE_SETVBUF
#define SETUP_STDOUT_FLUSH setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0);
#define FLUSH_STDOUT printf("\n");fflush(stdout);
#else
#define SETUP_STDOUT_FLUSH
#define FLUSH_STDOUT
#endif
void print_banner(const char *banner);
int display_menu(const char *menu_header, const char **menu_items);
int get_menu_selection(int max_count, int current_channel);
int get_int(int min_value, int max_max);
int get_prompted_int(int min_value, int max_max, const char *prompt);
uInt32 get_hex(uInt32 min_value, uInt32 max_value);
int get_char(char *legal_chars, char *user_input);
int get_char_range(char start_range, char end_range);
int get_fn(char *prompt, char *buffer);
int kbhit(void);
#endif /* __PROSLIC_UI_HDR__ */