24 ioctl(0, TIOCGWINSZ, &w);
37 printf(
"\033[%d;%dH", row, col);
41 int horizontal_lines_printed = 4;
42 const char **tbl_ele = NULL;
44 const char *single_line_table_elements[] = {
58 const char *asci_table_elements[] = {
72 const char *columns[] = {
81 tbl_ele = asci_table_elements;
83 tbl_ele = single_line_table_elements;
90 for (i = 0; i <
sizeof(columns) /
sizeof(
char *); i++) {
92 (i == 0 ? tbl_ele[5] : tbl_ele[7]));
94 for (j = 0; j < strlen(columns[i]); j++) {
95 printf(
"%s", tbl_ele[9]);
98 printf(
"%s\n", tbl_ele[2]);
101 for (i = 0; i <
sizeof(columns) /
sizeof(
char *); i++) {
102 printf(
"%s\x1b[1m%s\x1b[0m", tbl_ele[1], columns[i]);
104 printf(
"%s\n", tbl_ele[1]);
109 for (i = 0; i <
sizeof(columns) /
sizeof(
char *); i++) {
110 printf(
"%s", (i == 0 ? tbl_ele[8] : tbl_ele[10]));
112 for (j = 0; j < strlen(columns[i]); j++) {
113 printf(
"%s", tbl_ele[9]);
116 printf(
"%s\n", tbl_ele[0]);
119 ssdp_cache = ssdp_cache->
first;
120 const char no_info[] =
"-";
124 printf(
"%s %-20s", tbl_ele[1],
131 printf(
"%s %-*s", tbl_ele[1], 16,
134 printf(
"%s %-16s", tbl_ele[1],
136 printf(
"%s\n", tbl_ele[1]);
138 horizontal_lines_printed++;
140 ssdp_cache = ssdp_cache->
next;
145 for (i = 0; i <
sizeof(columns) /
sizeof(
char *); i++) {
147 (i == 0 ? tbl_ele[4] : tbl_ele[6]));
149 for (j = 0; j < strlen(columns[i]); j++) {
150 printf(
"%s", tbl_ele[9]);
153 printf(
"%s\n", tbl_ele[3]);
157 for (i = 1; i < height - horizontal_lines_printed; i++) {
158 printf(
"%*s\n", width,
" ");
ssdp_custom_field_s * get_custom_field(const ssdp_message_s *ssdp_message, const char *custom_field)
struct ssdp_cache_struct * next
void display_ssdp_cache(ssdp_cache_s *ssdp_cache, BOOL draw_asci)
static void get_window_size(int *width, int *height)
static void move_cursor(int row, int col)
struct ssdp_cache_struct * first
ssdp_message_s * ssdp_message