Add unbuffered methods for accessing a KBlock.
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Sat, 3 Jul 2010 12:31:04 +0000 (12:31 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Sat, 3 Jul 2010 12:31:04 +0000 (12:31 +0000)
commitd25edd9a1824faeab9e4deeec2a8db56c512b0fe
treef39dc8630851c9d1101d93af255ac9ffec4afdc2
parent50e04d4861514f5644587b31885bffeb9c4335f3
Add unbuffered methods for accessing a KBlock.

Since some modules which will use KBlock use an
internal buffer, the buffered API supplied by KBlock
may be redundant.

Specifically, if a module (like the FatFS) has its
own internal block buffer, the buffer inside the KBlock
would be wasted.
In order to avoid this waste of RAM, this patch adds
an unbuffered and simplified version of the API.

All KBlocks will implement this unbuffered API, and
they will give the user the option of adding a software
emulated buffer at init time. In this way we can have both
APIs with no RAM wasting.

In order to simplify KBlock implementors' job, a series of
generic functions is supplied. If the device supports
only a few functions of the KBlock low level API, the missing
ones may be generated using the generic ones.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3991 38d2e660-2303-0410-9eaa-f027e97ec537
bertos/io/kblock.c
bertos/io/kblock.h