X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fcommon%2Fstorage.rs;h=36d77e3faad15ad8e6b2ef6405e44c8e9e0ba4e9;hb=d41f27c211ac96151e175c4241b6a8d866001bea;hp=7f0944620bca915ea6839ffc25bde0e7e0478ded;hpb=8a9287055902491a840a528de67a0d9d7e6d67da;p=gps-watch.git diff --git a/src/common/storage.rs b/src/common/storage.rs index 7f09446..36d77e3 100644 --- a/src/common/storage.rs +++ b/src/common/storage.rs @@ -21,6 +21,18 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +pub enum Error { + UnalignedAddress = 1, +} + pub trait Storage { + fn size(&self) -> usize; + fn read(&self, address: usize, buffer: &mut [u8]); + + fn write(&mut self, address: usize, buffer: &[u8; 4096]) -> Result<(), Error>; + + fn erase(&mut self, address: usize) -> Result<(), Error>; + + fn clear(&mut self); }