diff options
author | Manuel Bentele | 2020-09-08 15:07:31 +0200 |
---|---|---|
committer | Manuel Bentele | 2020-09-16 07:37:56 +0200 |
commit | efc492d327ea6a9658674eb9e971aff3742818cd (patch) | |
tree | 72a3e3e61ee3cbc7df4059ee24ae95487c265b60 /utils/include/mbsedit.h | |
parent | Added file format file format subsystem for loop devices (diff) | |
download | xloop-efc492d327ea6a9658674eb9e971aff3742818cd.tar.gz xloop-efc492d327ea6a9658674eb9e971aff3742818cd.tar.xz xloop-efc492d327ea6a9658674eb9e971aff3742818cd.zip |
Added patched losetup utility to configure xloop devices
Diffstat (limited to 'utils/include/mbsedit.h')
-rw-r--r-- | utils/include/mbsedit.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/utils/include/mbsedit.h b/utils/include/mbsedit.h new file mode 100644 index 0000000..8d1c6c2 --- /dev/null +++ b/utils/include/mbsedit.h @@ -0,0 +1,32 @@ +#ifndef UTIL_LINUX_MBSEDIT_H +# define UTIL_LINUX_MBSEDIT_H + +#include "mbsalign.h" +#include "widechar.h" + +struct mbs_editor { + char *buf; /* buffer */ + size_t max_bytes; /* size of the buffer */ + size_t max_cells; /* maximal allowed number of cells */ + size_t cur_cells; /* number of cells to print the buffer */ + size_t cur_bytes; /* number of chars in bytes */ + size_t cursor; /* cursor position in bytes */ + size_t cursor_cells; /* cursor position in cells */ +}; + +enum { + MBS_EDIT_LEFT, + MBS_EDIT_RIGHT, + MBS_EDIT_END, + MBS_EDIT_HOME +}; + +struct mbs_editor *mbs_new_edit(char *buf, size_t bufsz, size_t ncells); +char *mbs_free_edit(struct mbs_editor *edit); + +int mbs_edit_goto(struct mbs_editor *edit, int where); +int mbs_edit_delete(struct mbs_editor *edit); +int mbs_edit_backspace(struct mbs_editor *edit); +int mbs_edit_insert(struct mbs_editor *edit, wint_t c); + +#endif /* UTIL_LINUX_MBSEDIT_H */ |