> -#define ERASE 2 /* READ = 0, WRITE = 1 */ > +/* READ = 0, WRITE (user) = 1 */ > +#define ERASE 2 > +#define WRITE_INT 3 /* Internal write. Not through write buffer */ enum { PBLK_READ, PBLK_WRITE, PBLK_ERASE, PBLK_WRITE, }; please. Don't abuse and overload the messy READ/WRITE macros in any new code.