diff --git a/src/fs-filo-ext2.adb b/src/fs-filo-ext2.adb
index 730cd11..a00e0a4 100644
--- a/src/fs-filo-ext2.adb
+++ b/src/fs-filo-ext2.adb
@@ -1,6 +1,12 @@
+with System;
 with Interfaces;
+with Interfaces.C;
+with Interfaces.C.Strings;
 
 with FS.FILO.Dev;
+with FS.FILO.VFS;
+
+use Interfaces.C;
 
 package body FS.FILO.Ext2 is
 
@@ -44,4 +50,45 @@
       Len := 0;
    end Read;
 
+   package C is new VFS (T => T, Initial => (S => Unmounted));
+
+   function C_Mount return int
+   with
+      Export,
+      Convention => C,
+      External_Name => "ext2fs_mount";
+   function C_Mount return int
+   with
+      SPARK_Mode => Off
+   is
+   begin
+      return C.C_Mount;
+   end C_Mount;
+
+   function C_Open (File_Path : Strings.chars_ptr) return int
+   with
+      Export,
+      Convention => C,
+      External_Name => "ext2fs_dir";
+   function C_Open (File_Path : Strings.chars_ptr) return int
+   with
+      SPARK_Mode => Off
+   is
+   begin
+      return C.C_Open (File_Path);
+   end C_Open;
+
+   function C_Read (Buf : System.Address; Len : int) return int
+   with
+      Export,
+      Convention => C,
+      External_Name => "ext2fs_read";
+   function C_Read (Buf : System.Address; Len : int) return int
+   with
+      SPARK_Mode => Off
+   is
+   begin
+      return C.C_Read (Buf, Len);
+   end C_Read;
+
 end FS.FILO.Ext2;
