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