summaryrefslogtreecommitdiff
path: root/src/libsndfile-virtual.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsndfile-virtual.adb')
-rw-r--r--src/libsndfile-virtual.adb42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/libsndfile-virtual.adb b/src/libsndfile-virtual.adb
index db0bb6e..8a54837 100644
--- a/src/libsndfile-virtual.adb
+++ b/src/libsndfile-virtual.adb
@@ -14,8 +14,7 @@ with
use type
- Interfaces.C.int,
- System.Address;
+ Interfaces.C.int;
package body Libsndfile.Virtual is
@@ -33,8 +32,8 @@ package body Libsndfile.Virtual is
function asf_open_virtual
(Mode : in Interfaces.C.int;
Sfinfo : in out C_File_Info;
- Data : in System.Address)
- return System.Address;
+ Data : in Storage.Integer_Address)
+ return Storage.Integer_Address;
pragma Import (C, asf_open_virtual, "asf_open_virtual");
@@ -45,11 +44,11 @@ package body Libsndfile.Virtual is
----------------------
function Ada_Filelen_Hook
- (Data : in System.Address)
+ (Data : in Storage.Integer_Address)
return Interfaces.Integer_64
is
Virtual : Virt_Conversions.Object_Pointer :=
- Virt_Conversions.To_Pointer (Data);
+ Virt_Conversions.To_Pointer (Storage.To_Address (Data));
begin
return Interfaces.Integer_64 (Virtual.My_Length.all);
end Ada_Filelen_Hook;
@@ -58,11 +57,11 @@ package body Libsndfile.Virtual is
function Ada_Seek_Hook
(Offset : in Interfaces.Integer_64;
Whence : in Interfaces.C.int;
- Data : in System.Address)
+ Data : in Storage.Integer_Address)
return Interfaces.Integer_64
is
Virtual : Virt_Conversions.Object_Pointer :=
- Virt_Conversions.To_Pointer (Data);
+ Virt_Conversions.To_Pointer (Storage.To_Address (Data));
My_Whence : Seek_From;
begin
if Whence = sf_seek_set then
@@ -79,15 +78,15 @@ package body Libsndfile.Virtual is
function Ada_Read_Hook
- (Ptr : in System.Address;
+ (Ptr : in Storage.Integer_Address;
Count : in Interfaces.Integer_64;
- Data : in System.Address)
+ Data : in Storage.Integer_Address)
return Interfaces.Integer_64
is
Virtual : Virt_Conversions.Object_Pointer :=
- Virt_Conversions.To_Pointer (Data);
+ Virt_Conversions.To_Pointer (Storage.To_Address (Data));
Buffer : Raw_Data (1 .. Integer (Count));
- for Buffer'Address use Ptr;
+ for Buffer'Address use Storage.To_Address (Ptr);
pragma Import (Ada, Buffer);
begin
return Interfaces.Integer_64 (Virtual.My_Read (Buffer, Count_Type (Count)));
@@ -95,15 +94,15 @@ package body Libsndfile.Virtual is
function Ada_Write_Hook
- (Ptr : in System.Address;
+ (Ptr : in Storage.Integer_Address;
Count : in Interfaces.Integer_64;
- Data : in System.Address)
+ Data : in Storage.Integer_Address)
return Interfaces.Integer_64
is
Virtual : Virt_Conversions.Object_Pointer :=
- Virt_Conversions.To_Pointer (Data);
+ Virt_Conversions.To_Pointer (Storage.To_Address (Data));
Buffer : Raw_Data (1 .. Integer (Count));
- for Buffer'Address use Ptr;
+ for Buffer'Address use Storage.To_Address (Ptr);
pragma Import (Ada, Buffer);
begin
return Interfaces.Integer_64 (Virtual.My_Write (Buffer, Count_Type (Count)));
@@ -111,11 +110,11 @@ package body Libsndfile.Virtual is
function Ada_Tell_Hook
- (Data : in System.Address)
+ (Data : in Storage.Integer_Address)
return Interfaces.Integer_64
is
Virtual : Virt_Conversions.Object_Pointer :=
- Virt_Conversions.To_Pointer (Data);
+ Virt_Conversions.To_Pointer (Storage.To_Address (Data));
begin
return Interfaces.Integer_64 (Virtual.My_Tell.all);
end Ada_Tell_Hook;
@@ -141,15 +140,16 @@ package body Libsndfile.Virtual is
when Read_Only => sfm_read,
when Write_Only => sfm_write,
when Read_Write => sfm_rdwr);
- Result : System.Address;
+ Result : Storage.Integer_Address;
begin
File.My_Virtual.My_Length := Length;
File.My_Virtual.My_Seek := Seek;
File.My_Virtual.My_Read := Read;
File.My_Virtual.My_Write := Write;
File.My_Virtual.My_Tell := Tell;
- Result := asf_open_virtual (Mode_Int, Info.Data, File.My_Virtual'Address);
- if Result = System.Null_Address then
+ Result := asf_open_virtual
+ (Mode_Int, Info.Data, Storage.To_Integer (File.My_Virtual'Address));
+ if Result = Null_Pointer then
Raise_Error (sf_error (Result));
raise Program_Error;
else