First pass of ImageWriter

Change-Id: I4f189587a2e3cc1c265200b8fa64321b299947eb
diff --git a/src/file_linux.h b/src/file_linux.h
new file mode 100644
index 0000000..7e36ada
--- /dev/null
+++ b/src/file_linux.h
@@ -0,0 +1,34 @@
+// Copyright 2010 Google Inc. All Rights Reserved.
+
+#ifndef ART_SRC_FILE_LINUX_H_
+#define ART_SRC_FILE_LINUX_H_
+
+#include "file.h"
+
+namespace art {
+
+class LinuxFile : public File {
+ public:
+  LinuxFile(const char* name, int fd, bool auto_close) :
+        File(name), fd_(fd), auto_close_(auto_close) {}
+  virtual ~LinuxFile();
+
+  virtual void Close();
+  virtual bool IsClosed();
+
+  virtual int64_t Read(void* buffer, int64_t num_bytes);
+  virtual int64_t Write(const void* buffer, int64_t num_bytes);
+
+  virtual off_t Length();
+  virtual off_t Position();
+
+ private:
+  static const int kClosedFd = -1;
+
+  int fd_;
+  bool auto_close_;
+};
+
+}  // namespace art
+
+#endif  // ART_SRC_FILE_LINUX_H_