00001 #ifndef _GPXE_EDITSTRING_H 00002 #define _GPXE_EDITSTRING_H 00003 00004 /** @file 00005 * 00006 * Editable strings 00007 * 00008 */ 00009 00010 FILE_LICENCE ( GPL2_OR_LATER ); 00011 00012 /** An editable string */ 00013 struct edit_string { 00014 /** Buffer for string */ 00015 char *buf; 00016 /** Size of buffer (including terminating NUL) */ 00017 size_t len; 00018 /** Cursor position */ 00019 unsigned int cursor; 00020 00021 /* The following items are the edit history */ 00022 00023 /** Last cursor position */ 00024 unsigned int last_cursor; 00025 /** Start of modified portion of string */ 00026 unsigned int mod_start; 00027 /** End of modified portion of string */ 00028 unsigned int mod_end; 00029 }; 00030 00031 extern int edit_string ( struct edit_string *string, int key ) __nonnull; 00032 00033 #endif /* _GPXE_EDITSTRING_H */
1.5.7.1