1 #ifndef _GPXE_EDITSTRING_H 2 #define _GPXE_EDITSTRING_H 3 4 /** @file 5 * 6 * Editable strings 7 * 8 */ 9 10 FILE_LICENCE ( GPL2_OR_LATER ); 11 12 /** An editable string */ 13 struct edit_string { 14 /** Buffer for string */ 15 char *buf; 16 /** Size of buffer (including terminating NUL) */ 17 size_t len; 18 /** Cursor position */ 19 unsigned int cursor; 20 21 /* The following items are the edit history */ 22 23 /** Last cursor position */ 24 unsigned int last_cursor; 25 /** Start of modified portion of string */ 26 unsigned int mod_start; 27 /** End of modified portion of string */ 28 unsigned int mod_end; 29 }; 30 31 extern int edit_string ( struct edit_string *string, int key ) __nonnull; 32 33 #endif /* _GPXE_EDITSTRING_H */ 34