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 12*f499134dSBaptiste Daroussin #include <stdio.h> 13*f499134dSBaptiste Daroussin #include <stdlib.h> 14*f499134dSBaptiste Daroussin #include <string.h> 15*f499134dSBaptiste Daroussin 16*f499134dSBaptiste Daroussin #include <bsddialog.h> 17*f499134dSBaptiste Daroussin 18*f499134dSBaptiste Daroussin #define H BSDDIALOG_FIELDHIDDEN 19*f499134dSBaptiste Daroussin #define RO BSDDIALOG_FIELDREADONLY 20*f499134dSBaptiste Daroussin 21*f499134dSBaptiste Daroussin int main() 22*f499134dSBaptiste Daroussin { 23*f499134dSBaptiste Daroussin int i, output; 24*f499134dSBaptiste Daroussin struct bsddialog_conf conf; 25*f499134dSBaptiste Daroussin struct bsddialog_formitem items[3] = { 26*f499134dSBaptiste Daroussin {"Input:", 1, 1, "value", 1, 11, 30, 50, NULL, 0, "desc 1"}, 27*f499134dSBaptiste Daroussin {"Input:", 2, 1, "read only", 2, 11, 30, 50, NULL, RO, "desc 2"}, 28*f499134dSBaptiste Daroussin {"Password:", 3, 1, "", 3, 11, 30, 50, NULL, H, "desc 3"} 29*f499134dSBaptiste Daroussin }; 30*f499134dSBaptiste Daroussin 31*f499134dSBaptiste Daroussin bsddialog_initconf(&conf); 32*f499134dSBaptiste Daroussin conf.title = "form"; 33*f499134dSBaptiste Daroussin conf.form.securech = '*'; 34*f499134dSBaptiste Daroussin 35*f499134dSBaptiste Daroussin if (bsddialog_init() < 0) 36*f499134dSBaptiste Daroussin return -1; 37*f499134dSBaptiste Daroussin 38*f499134dSBaptiste Daroussin output = bsddialog_form(&conf, "Example", 10, 50, 3, 3, items); 39*f499134dSBaptiste Daroussin 40*f499134dSBaptiste Daroussin bsddialog_end(); 41*f499134dSBaptiste Daroussin 42*f499134dSBaptiste Daroussin if (output == BSDDIALOG_ERROR) 43*f499134dSBaptiste Daroussin printf("Error: %s", bsddialog_geterror()); 44*f499134dSBaptiste Daroussin 45*f499134dSBaptiste Daroussin for (i=0; i<3; i++) { 46*f499134dSBaptiste Daroussin printf("%s \"%s\"\n", items[i].label, items[i].value); 47*f499134dSBaptiste Daroussin free(items[i].value); 48*f499134dSBaptiste Daroussin } 49*f499134dSBaptiste Daroussin 50*f499134dSBaptiste Daroussin return output; 51*f499134dSBaptiste Daroussin } 52