xref: /freebsd/contrib/bsddialog/examples_library/pause.c (revision 61ba55bcf70f2340f9c943c9571113b3fd8eda69)
1f499134dSBaptiste Daroussin /*-
2f499134dSBaptiste Daroussin  * SPDX-License-Identifier: CC0-1.0
3f499134dSBaptiste Daroussin  *
4f499134dSBaptiste Daroussin  * Written in 2021 by Alfonso Sabato Siciliano.
5f499134dSBaptiste Daroussin  * To the extent possible under law, the author has dedicated all copyright
6f499134dSBaptiste Daroussin  * and related and neighboring rights to this software to the public domain
7f499134dSBaptiste Daroussin  * worldwide. This software is distributed without any warranty, see:
8f499134dSBaptiste Daroussin  *   <http://creativecommons.org/publicdomain/zero/1.0/>.
9f499134dSBaptiste Daroussin  */
10f499134dSBaptiste Daroussin 
11bce40c02SAlfonso S. Siciliano #include <bsddialog.h>
12f499134dSBaptiste Daroussin #include <stdio.h>
13f499134dSBaptiste Daroussin 
main()14f499134dSBaptiste Daroussin int main()
15f499134dSBaptiste Daroussin {
16f499134dSBaptiste Daroussin 	int output;
17*61ba55bcSBaptiste Daroussin 	unsigned int sec;
18f499134dSBaptiste Daroussin 	struct bsddialog_conf conf;
19f499134dSBaptiste Daroussin 
20263660c0SAlfonso Siciliano 	if (bsddialog_init() == BSDDIALOG_ERROR) {
21263660c0SAlfonso Siciliano 		printf("Error: %s\n", bsddialog_geterror());
22263660c0SAlfonso Siciliano 		return (1);
23263660c0SAlfonso Siciliano 	}
24f499134dSBaptiste Daroussin 	bsddialog_initconf(&conf);
25f499134dSBaptiste Daroussin 	conf.title = "pause";
26*61ba55bcSBaptiste Daroussin 	sec = 10;
27*61ba55bcSBaptiste Daroussin 	output = bsddialog_pause(&conf, "Example", 8, 50, &sec);
28f499134dSBaptiste Daroussin 	bsddialog_end();
29f499134dSBaptiste Daroussin 
30f499134dSBaptiste Daroussin 	switch (output) {
31f499134dSBaptiste Daroussin 	case BSDDIALOG_ERROR:
32f499134dSBaptiste Daroussin 		printf("Error: %s\n", bsddialog_geterror());
33*61ba55bcSBaptiste Daroussin 		return (1);
34*61ba55bcSBaptiste Daroussin 	case BSDDIALOG_OK:
35*61ba55bcSBaptiste Daroussin 		printf("[OK] remaining time: %u\n", sec);
36*61ba55bcSBaptiste Daroussin 		break;
37*61ba55bcSBaptiste Daroussin 	case BSDDIALOG_CANCEL:
38*61ba55bcSBaptiste Daroussin 		printf("[Cancel] remaining time: %u\n", sec);
39f499134dSBaptiste Daroussin 		break;
40f499134dSBaptiste Daroussin 	case BSDDIALOG_TIMEOUT:
41f499134dSBaptiste Daroussin 		printf("Timeout\n");
42f499134dSBaptiste Daroussin 		break;
43f499134dSBaptiste Daroussin 	}
44f499134dSBaptiste Daroussin 
45*61ba55bcSBaptiste Daroussin 	return (0);
46f499134dSBaptiste Daroussin }
47