X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=qemu%2Froms%2Fipxe%2Fsrc%2Finclude%2Fipxe%2Feditbox.h;fp=qemu%2Froms%2Fipxe%2Fsrc%2Finclude%2Fipxe%2Feditbox.h;h=9122dbbf33d57b95fb20e562728bd73fe987980c;hb=e44e3482bdb4d0ebde2d8b41830ac2cdb07948fb;hp=0000000000000000000000000000000000000000;hpb=9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00;p=kvmfornfv.git diff --git a/qemu/roms/ipxe/src/include/ipxe/editbox.h b/qemu/roms/ipxe/src/include/ipxe/editbox.h new file mode 100644 index 000000000..9122dbbf3 --- /dev/null +++ b/qemu/roms/ipxe/src/include/ipxe/editbox.h @@ -0,0 +1,61 @@ +#ifndef _IPXE_EDITBOX_H +#define _IPXE_EDITBOX_H + +/** @file + * + * Editable text box widget + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include +#include + +/** An editable text box widget */ +struct edit_box { + /** Editable string */ + struct edit_string string; + /** Containing window */ + WINDOW *win; + /** Row */ + unsigned int row; + /** Starting column */ + unsigned int col; + /** Width */ + unsigned int width; + /** First displayed character */ + unsigned int first; + /** Flags */ + unsigned int flags; +}; + +/** Editable text box widget flags */ +enum edit_box_flags { + /** Show stars instead of contents (for password widgets) */ + EDITBOX_STARS = 0x0001, +}; + +extern void init_editbox ( struct edit_box *box, char *buf, size_t len, + WINDOW *win, unsigned int row, unsigned int col, + unsigned int width, unsigned int flags ) + __attribute__ (( nonnull (1, 2) )); +extern void draw_editbox ( struct edit_box *box ) __nonnull; +static inline int edit_editbox ( struct edit_box *box, int key ) __nonnull; + +/** + * Edit text box widget + * + * @v box Editable text box widget + * @v key Key pressed by user + * @ret key Key returned to application, or zero + * + * You must call draw_editbox() to update the display after calling + * edit_editbox(). + * + */ +static inline int edit_editbox ( struct edit_box *box, int key ) { + return edit_string ( &box->string, key ); +} + +#endif /* _IPXE_EDITBOX_H */