Mount appfuse in process namespace.

BUG=26148108

Change-Id: I2297fd227a4c607054e0403e73bd9c857f580a1c
diff --git a/Utils.h b/Utils.h
index 0a74af7..f717da5 100644
--- a/Utils.h
+++ b/Utils.h
@@ -32,6 +32,8 @@
     void operator=(const TypeName&) = delete
 #endif
 
+struct DIR;
+
 namespace android {
 namespace vold {
 
@@ -105,6 +107,28 @@
 
 std::string DefaultFstabPath();
 
+status_t SaneReadLinkAt(int dirfd, const char* path, char* buf, size_t bufsiz);
+
+class ScopedFd {
+    const int fd_;
+public:
+    ScopedFd(int fd);
+    ~ScopedFd();
+    int get() const { return fd_; }
+
+    DISALLOW_COPY_AND_ASSIGN(ScopedFd);
+};
+
+class ScopedDir {
+    DIR* const dir_;
+public:
+    ScopedDir(DIR* dir);
+    ~ScopedDir();
+    DIR* get() const { return dir_; }
+
+    DISALLOW_COPY_AND_ASSIGN(ScopedDir);
+};
+
 }  // namespace vold
 }  // namespace android