mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[AaruFormat] Fix size_t marshalling.
This commit is contained in:
@@ -143,7 +143,7 @@ public sealed partial class AaruFormat
|
||||
|
||||
byte[] blockBytes = blockMs.ToArray();
|
||||
|
||||
Status res = aaruf_set_dumphw(_context, blockBytes, blockBytes.Length);
|
||||
Status res = aaruf_set_dumphw(_context, blockBytes, (nuint)blockBytes.Length);
|
||||
|
||||
ErrorMessage = StatusToErrorMessage(res);
|
||||
|
||||
@@ -299,7 +299,7 @@ public sealed partial class AaruFormat
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_set_dumphw(void *context, uint8_t *data, size_t length)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_dumphw", SetLastError = true)]
|
||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
||||
private static partial Status aaruf_set_dumphw(IntPtr context, [In] byte[] data, nint length);
|
||||
private static partial Status aaruf_set_dumphw(IntPtr context, [In] byte[] data, nuint length);
|
||||
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_get_dumphw(void *context, uint8_t *buffer, size_t *length)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_get_dumphw", SetLastError = true)]
|
||||
|
||||
@@ -29,7 +29,7 @@ public sealed partial class AaruFormat
|
||||
|
||||
byte[] buffer = jsonMs.ToArray();
|
||||
|
||||
return aaruf_set_aaru_json_metadata(_context, buffer, (ulong)buffer.Length) == Status.Ok;
|
||||
return aaruf_set_aaru_json_metadata(_context, buffer, (nuint)buffer.Length) == Status.Ok;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -169,7 +169,7 @@ public sealed partial class AaruFormat
|
||||
{
|
||||
get
|
||||
{
|
||||
ulong length = 0;
|
||||
nuint length = 0;
|
||||
Status res = aaruf_get_aaru_json_metadata(_context, null, ref length);
|
||||
|
||||
if(res != Status.Ok && res != Status.BufferTooSmall)
|
||||
@@ -294,7 +294,7 @@ public sealed partial class AaruFormat
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_set_aaru_json_metadata(void *context, uint8_t *data, size_t length)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_aaru_json_metadata", SetLastError = true)]
|
||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
||||
private static partial Status aaruf_set_aaru_json_metadata(IntPtr context, [In] byte[] data, ulong length);
|
||||
private static partial Status aaruf_set_aaru_json_metadata(IntPtr context, [In] byte[] data, nuint length);
|
||||
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_set_geometry(void *context, const uint32_t cylinders, const uint32_t heads,
|
||||
// const uint32_t sectors_per_track)
|
||||
@@ -372,7 +372,7 @@ public sealed partial class AaruFormat
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_get_aaru_json_metadata(const void *context, uint8_t *buffer, size_t *length)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_get_aaru_json_metadata", SetLastError = true)]
|
||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
||||
private static partial Status aaruf_get_aaru_json_metadata(IntPtr context, byte[] buffer, ref ulong length);
|
||||
private static partial Status aaruf_get_aaru_json_metadata(IntPtr context, byte[] buffer, ref nuint length);
|
||||
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_clear_media_sequence(void *context)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_clear_media_sequence", SetLastError = true)]
|
||||
|
||||
@@ -25,10 +25,9 @@ public sealed partial class AaruFormat
|
||||
{
|
||||
if(_tracks is not null) return _tracks;
|
||||
|
||||
byte[] buffer = null;
|
||||
ulong length = 0;
|
||||
nuint length = 0;
|
||||
|
||||
Status res = aaruf_get_tracks(_context, buffer, ref length);
|
||||
Status res = aaruf_get_tracks(_context, null, ref length);
|
||||
|
||||
if(res != Status.BufferTooSmall)
|
||||
{
|
||||
@@ -37,8 +36,8 @@ public sealed partial class AaruFormat
|
||||
return null;
|
||||
}
|
||||
|
||||
buffer = new byte[length];
|
||||
res = aaruf_get_tracks(_context, buffer, ref length);
|
||||
var buffer = new byte[length];
|
||||
res = aaruf_get_tracks(_context, buffer, ref length);
|
||||
|
||||
if(res != Status.Ok)
|
||||
{
|
||||
@@ -197,7 +196,7 @@ public sealed partial class AaruFormat
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_get_tracks(const void *context, uint8_t *buffer, size_t *length)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_get_tracks", SetLastError = true)]
|
||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
||||
private static partial Status aaruf_get_tracks(IntPtr context, byte[] buffer, ref ulong length);
|
||||
private static partial Status aaruf_get_tracks(IntPtr context, byte[] buffer, ref nuint length);
|
||||
|
||||
// AARU_EXPORT int32_t AARU_CALL aaruf_set_tracks(void *context, TrackEntry *tracks, const int count)
|
||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_tracks", SetLastError = true)]
|
||||
|
||||
@@ -52,7 +52,7 @@ public sealed partial class AaruFormat
|
||||
/// <inheritdoc />
|
||||
public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag)
|
||||
{
|
||||
Status res = aaruf_write_sector_tag(_context, sectorAddress, false, data, (ulong)data.Length, tag);
|
||||
Status res = aaruf_write_sector_tag(_context, sectorAddress, false, data, (nuint)data.Length, tag);
|
||||
|
||||
if(res == Status.Ok) return true;
|
||||
|
||||
@@ -179,7 +179,7 @@ public sealed partial class AaruFormat
|
||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
||||
private static partial Status aaruf_write_sector_tag(IntPtr context, ulong sectorAddress,
|
||||
[MarshalAs(UnmanagedType.I4)] bool negative, [In] byte[] data,
|
||||
ulong length, SectorTagType tag);
|
||||
nuint length, SectorTagType tag);
|
||||
|
||||
// AARU_EXPORT void AARU_CALL *aaruf_create(const char *filepath, const uint32_t media_type, const uint32_t sector_size,
|
||||
// const uint64_t user_sectors, const uint64_t negative_sectors,
|
||||
|
||||
Reference in New Issue
Block a user