Add KFile base class constructor.
[bertos.git] / bertos / kern / kfile.c
index 81cd9d0a422d941717250c0e84cdb3c71d166ce5..d98f15484ef6a3a7c71c1832f5b7c9d95c91892a 100644 (file)
@@ -255,4 +255,30 @@ void kfile_resync(KFile *fd, mtime_t delay)
        }
 }
 
+/**
+ * Stub function that does nothing.
+ * This is a generic implementation that only return 0.
+ */
+static int kfile_generic(UNUSED_ARG(struct KFile *, fd))
+{
+       return 0;
+};
+
+
+/**
+ * Base class KFile constructor.
+ */
+void kfile_init(struct KFile *fd)
+{
+       ASSERT(fd);
+       memset(fd, 0, sizeof(*fd));
+       fd->clearerr = (ClearErrFunc_t)kfile_generic;
+       fd->close =  kfile_genericClose;
+       fd->error = kfile_generic;
+       fd->flush = kfile_generic;
+       fd->read = (ReadFunc_t)kfile_generic;
+       fd->reopen = kfile_genericReopen;
+       fd->seek = kfile_genericSeek;
+       fd->write = (WriteFunc_t)kfile_generic;
+}