Add KFile base class constructor.
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Sun, 27 Sep 2009 13:21:27 +0000 (13:21 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Sun, 27 Sep 2009 13:21:27 +0000 (13:21 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2975 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/kern/kfile.c
bertos/kern/kfile.h

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;
+}
 
index 10f98ef157376bf442ab2130f19b99b33df7f7b7..44c32b06b00e97b4342accf364550246e98a05f2 100644 (file)
@@ -221,6 +221,7 @@ int kfile_print(struct KFile *fd, const char *s);
 int kfile_gets(struct KFile *fd, char *buf, int size);
 int kfile_gets_echo(struct KFile *fd, char *buf, int size, bool echo);
 void kfile_resync(KFile *fd, mtime_t delay);
+void kfile_init(struct KFile *fd);
 
 /**
  * Interface functions for KFile access.
@@ -284,4 +285,5 @@ int kfile_testRun(void);
 int kfile_testRunGeneric(KFile *fd, uint8_t *test_buf, uint8_t *save_buf, size_t size);
 int kfile_testTearDown(void);
 
+
 #endif /* KERN_KFILE_H */