#ifndef _GPXE_EDITSTRING_H #define _GPXE_EDITSTRING_H /** @file * * Editable strings * */ FILE_LICENCE ( GPL2_OR_LATER ); /** An editable string */ struct edit_string { /** Buffer for string */ char *buf; /** Size of buffer (including terminating NUL) */ size_t len; /** Cursor position */ unsigned int cursor; /* The following items are the edit history */ /** Last cursor position */ unsigned int last_cursor; /** Start of modified portion of string */ unsigned int mod_start; /** End of modified portion of string */ unsigned int mod_end; }; extern int edit_string ( struct edit_string *string, int key ) __nonnull; #endif /* _GPXE_EDITSTRING_H */