X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Flib%2Ftosthreads%2Fcsystem%2FVolumeMapP.nc;h=2896fa19d5dc109f5da43e67b0f13aefa6871cb8;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hp=5c810ddab21c5bf5e124c6394db0572b48174f91;hpb=9720fb8250cecf3f696a9c844c1d37b594ce050a;p=tinyos-2.x.git diff --git a/tos/lib/tosthreads/csystem/VolumeMapP.nc b/tos/lib/tosthreads/csystem/VolumeMapP.nc index 5c810dda..2896fa19 100644 --- a/tos/lib/tosthreads/csystem/VolumeMapP.nc +++ b/tos/lib/tosthreads/csystem/VolumeMapP.nc @@ -22,6 +22,7 @@ /** * @author Chieh-Jan Mike Liang + * @author J— çgila Bitsch Link */ module VolumeMapP { @@ -30,6 +31,8 @@ module VolumeMapP { interface BlockWrite[uint8_t volume_id]; interface LogRead[uint8_t volume_id]; interface LogWrite[uint8_t volume_id]; + interface ConfigStorage[uint8_t volume_id]; + interface Mount[uint8_t volume_id]; } uses { @@ -37,6 +40,8 @@ module VolumeMapP { interface BlockWrite as SubBlockWrite[uint8_t volume_id]; interface LogRead as SubLogRead[uint8_t volume_id]; interface LogWrite as SubLogWrite[uint8_t volume_id]; + interface ConfigStorage as SubConfigStorage[uint8_t volume_id]; + interface Mount as SubMount[uint8_t volume_id]; } } @@ -204,4 +209,73 @@ implementation { default event void LogWrite.appendDone[uint8_t volume_id](void* buf, storage_len_t len, bool recordsLost, error_t error) {} default event void LogWrite.eraseDone[uint8_t volume_id](error_t error) {} default event void LogWrite.syncDone[uint8_t volume_id](error_t error) {} + + command error_t ConfigStorage.read[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len) { + return call SubConfigStorage.read[volume_id](addr, buf, len); + } + + event void SubConfigStorage.readDone[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len, error_t error) { + signal ConfigStorage.readDone[volume_id](addr, buf, len, error); + } + + command error_t ConfigStorage.write[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len) { + return call SubConfigStorage.write[volume_id](addr, buf, len); + } + + event void SubConfigStorage.writeDone[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len, error_t error) { + signal ConfigStorage.writeDone[volume_id](addr, buf, len, error); + } + + command error_t ConfigStorage.commit[uint8_t volume_id]() { + return call SubConfigStorage.commit[volume_id](); + } + + event void SubConfigStorage.commitDone[uint8_t volume_id](error_t error) { + signal ConfigStorage.commitDone[volume_id](error); + } + + command storage_len_t ConfigStorage.getSize[uint8_t volume_id]() { + return call SubConfigStorage.getSize[volume_id](); + } + + command bool ConfigStorage.valid[uint8_t volume_id]() { + return call SubConfigStorage.valid[volume_id](); + } + + command error_t Mount.mount[uint8_t volume_id]() { + return call SubMount.mount[volume_id](); + } + + event void SubMount.mountDone[uint8_t volume_id](error_t error) { + signal Mount.mountDone[volume_id](error); + } + + default command error_t SubConfigStorage.read[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len) { + return FAIL; + } + + default command error_t SubConfigStorage.write[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len) { + return FAIL; + } + + default command error_t SubConfigStorage.commit[uint8_t volume_id]() { + return FAIL; + } + + default command storage_len_t SubConfigStorage.getSize[uint8_t volume_id]() { + return FAIL; + } + + default command bool SubConfigStorage.valid[uint8_t volume_id]() { + return FAIL; + } + + default command error_t SubMount.mount[uint8_t volume_id]() { + return FAIL; + } + + default event void ConfigStorage.commitDone[uint8_t volume_id](error_t error) {} + default event void ConfigStorage.writeDone[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len, error_t error) {} + default event void ConfigStorage.readDone[uint8_t volume_id](storage_addr_t addr, void* buf, storage_len_t len, error_t error) {} + default event void Mount.mountDone[uint8_t volume_id](error_t error) {} }