xref: /freebsd/contrib/bsddialog/examples_library/msgbox.c (revision f499134dd403eeeba8283e2640e2654c8da62430)
1*f499134dSBaptiste Daroussin /*-
2*f499134dSBaptiste Daroussin  * SPDX-License-Identifier: CC0-1.0
3*f499134dSBaptiste Daroussin  *
4*f499134dSBaptiste Daroussin  * Written in 2021 by Alfonso Sabato Siciliano.
5*f499134dSBaptiste Daroussin  * To the extent possible under law, the author has dedicated all copyright
6*f499134dSBaptiste Daroussin  * and related and neighboring rights to this software to the public domain
7*f499134dSBaptiste Daroussin  * worldwide. This software is distributed without any warranty, see:
8*f499134dSBaptiste Daroussin  *   <http://creativecommons.org/publicdomain/zero/1.0/>.
9*f499134dSBaptiste Daroussin  */
10*f499134dSBaptiste Daroussin 
11*f499134dSBaptiste Daroussin #include <stdio.h>
12*f499134dSBaptiste Daroussin #include <string.h>
13*f499134dSBaptiste Daroussin 
14*f499134dSBaptiste Daroussin #include <bsddialog.h>
15*f499134dSBaptiste Daroussin 
16*f499134dSBaptiste Daroussin int main()
17*f499134dSBaptiste Daroussin {
18*f499134dSBaptiste Daroussin 	int input;
19*f499134dSBaptiste Daroussin 	struct bsddialog_conf conf;
20*f499134dSBaptiste Daroussin 
21*f499134dSBaptiste Daroussin 	/* Configuration */
22*f499134dSBaptiste Daroussin 	bsddialog_initconf(&conf);
23*f499134dSBaptiste Daroussin 	conf.title = "msgbox";
24*f499134dSBaptiste Daroussin 
25*f499134dSBaptiste Daroussin 	/* Run BSDDialog */
26*f499134dSBaptiste Daroussin 	if (bsddialog_init() == BSDDIALOG_ERROR) {
27*f499134dSBaptiste Daroussin 		printf("Error: %s\n", bsddialog_geterror());
28*f499134dSBaptiste Daroussin 		return -1;
29*f499134dSBaptiste Daroussin 	}
30*f499134dSBaptiste Daroussin 	input = bsddialog_msgbox(&conf, "Example", 7, 20);
31*f499134dSBaptiste Daroussin 	bsddialog_end();
32*f499134dSBaptiste Daroussin 
33*f499134dSBaptiste Daroussin 	/* User Input */
34*f499134dSBaptiste Daroussin 	printf("User input: ");
35*f499134dSBaptiste Daroussin 	switch (input) {
36*f499134dSBaptiste Daroussin 	case BSDDIALOG_ERROR: printf("Error %s\n", bsddialog_geterror()); break;
37*f499134dSBaptiste Daroussin 	case BSDDIALOG_YESOK: printf("OK\n");  break;
38*f499134dSBaptiste Daroussin 	case BSDDIALOG_ESC:   printf("ESC\n"); break;
39*f499134dSBaptiste Daroussin 	}
40*f499134dSBaptiste Daroussin 
41*f499134dSBaptiste Daroussin 	return input;
42*f499134dSBaptiste Daroussin }
43