Implement syslog.
[bertos.git] / bertos / io / kfile_block.h
index e84e92d780791dfbc284ca23c30ba13768ee272f..c5dc26c5591363db131a6d5d1260fbf086b068cc 100644 (file)
  *
  * -->
  *
+ * \defgroup kfile_block KFile interface over KBlock
+ * \ingroup core
+ * \{
+ *
  * \brief KFile interface over a KBlock.
  *
  * With this module, you can access a KBlock device
  * with the handy KFile interface.
  * In order to achieve this, the block device must support partial block write.
  *
+ * Error codes returned by kfile_error() are specific of the underlying
+ * KBlock implementation.
+ *
+ * Make sure you have trimmed the KBlock to avoid overwriting something.
+ * Example:
+ * \code
+ * // init a derived instance of KBlock
+ * // any will do.
+ * Flash flash;
+ * flash_init(&flash, 0);
+ * kblock_trim(&flash.blk, trim_start, internal_flash.blk.blk_cnt - trim_start);
+ *
+ * // now create and initialize the kfile_block instance
+ * KFileBlock kfb;
+ * kfileblock_init(&kfb, &flash.blk);
+ *
+ * // now you can access the Flash in a file like fashion
+ * kfile_read(&kfb.fd, buf, 20);
+ * \endcode
+ *
  * \author Francesco Sacchi <batt@develer.com>
  * \author Daniele Basile <asterix@develer.com>
  *
@@ -63,7 +87,7 @@ typedef struct KFileBlock
  * Init a KFile over KBlock.
  * After this you can access your KBlock device with a handy KFile interface.
  *
- * \note The block device must support partial block write in order support
+ * \note The block device must support partial block write in order to support
  *       random write access.
  *
  * \param fb KFileBlock context.
@@ -71,4 +95,6 @@ typedef struct KFileBlock
  */
 void kfileblock_init(KFileBlock *fb, KBlock *blk);
 
+/** \} */ //defgroup kfile_block
+
 #endif /* IO_KFILE_KBLOCK_H */