FS.FILO.Ext2: Export C functions
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;