Move fs-filo to filo-fs
Signed-off-by: Thomas Heijligen <src@posteo.de>
diff --git a/src/filo.ads b/src/filo.ads
new file mode 100644
index 0000000..b85fa19
--- /dev/null
+++ b/src/filo.ads
@@ -0,0 +1,28 @@
+with Interfaces;
+
+use Interfaces;
+
+package FILO is
+
+ subtype Index_Type is Natural range 0 .. Natural'Last - 1;
+ subtype Index_Type16 is Index_Type range 0 .. Index_Type'Last - 1;
+ subtype Index_Type32 is Index_Type16 range 0 .. Index_Type16'Last - 2;
+
+ type Buffer_Type is array (Index_Type range <>) of Unsigned_8;
+
+ function Read_LE16 (Buf : Buffer_Type; Off : Index_Type16) return Unsigned_16
+ is
+ (Shift_Left (Unsigned_16 (Buf (Off + 1)), 8) or Unsigned_16 (Buf (Off)))
+ with
+ Pre => Buf'First <= Off and Off + 1 <= Buf'Last;
+
+ function Read_LE32 (Buf : Buffer_Type; Off : Index_Type32) return Unsigned_32
+ is
+ (Shift_Left (Unsigned_32 (Buf (Off + 3)), 24) or
+ Shift_Left (Unsigned_32 (Buf (Off + 2)), 16) or
+ Shift_Left (Unsigned_32 (Buf (Off + 1)), 8) or
+ Unsigned_32 (Buf (Off)))
+ with
+ Pre => Buf'First <= Off and Off + 3 <= Buf'Last;
+
+end FILO;