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();
|
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);
|
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)
|
// 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)]
|
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_dumphw", SetLastError = true)]
|
||||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
[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)
|
// 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)]
|
[LibraryImport("libaaruformat", EntryPoint = "aaruf_get_dumphw", SetLastError = true)]
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public sealed partial class AaruFormat
|
|||||||
|
|
||||||
byte[] buffer = jsonMs.ToArray();
|
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 />
|
/// <inheritdoc />
|
||||||
@@ -169,7 +169,7 @@ public sealed partial class AaruFormat
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
ulong length = 0;
|
nuint length = 0;
|
||||||
Status res = aaruf_get_aaru_json_metadata(_context, null, ref length);
|
Status res = aaruf_get_aaru_json_metadata(_context, null, ref length);
|
||||||
|
|
||||||
if(res != Status.Ok && res != Status.BufferTooSmall)
|
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)
|
// 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)]
|
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_aaru_json_metadata", SetLastError = true)]
|
||||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
[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,
|
// 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)
|
// 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)
|
// 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)]
|
[LibraryImport("libaaruformat", EntryPoint = "aaruf_get_aaru_json_metadata", SetLastError = true)]
|
||||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
[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)
|
// AARU_EXPORT int32_t AARU_CALL aaruf_clear_media_sequence(void *context)
|
||||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_clear_media_sequence", SetLastError = true)]
|
[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;
|
if(_tracks is not null) return _tracks;
|
||||||
|
|
||||||
byte[] buffer = null;
|
nuint length = 0;
|
||||||
ulong length = 0;
|
|
||||||
|
|
||||||
Status res = aaruf_get_tracks(_context, buffer, ref length);
|
Status res = aaruf_get_tracks(_context, null, ref length);
|
||||||
|
|
||||||
if(res != Status.BufferTooSmall)
|
if(res != Status.BufferTooSmall)
|
||||||
{
|
{
|
||||||
@@ -37,8 +36,8 @@ public sealed partial class AaruFormat
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer = new byte[length];
|
var buffer = new byte[length];
|
||||||
res = aaruf_get_tracks(_context, buffer, ref length);
|
res = aaruf_get_tracks(_context, buffer, ref length);
|
||||||
|
|
||||||
if(res != Status.Ok)
|
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)
|
// 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)]
|
[LibraryImport("libaaruformat", EntryPoint = "aaruf_get_tracks", SetLastError = true)]
|
||||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
[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)
|
// AARU_EXPORT int32_t AARU_CALL aaruf_set_tracks(void *context, TrackEntry *tracks, const int count)
|
||||||
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_tracks", SetLastError = true)]
|
[LibraryImport("libaaruformat", EntryPoint = "aaruf_set_tracks", SetLastError = true)]
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public sealed partial class AaruFormat
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag)
|
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;
|
if(res == Status.Ok) return true;
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ public sealed partial class AaruFormat
|
|||||||
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
[UnmanagedCallConv(CallConvs = [typeof(CallConvStdcall)])]
|
||||||
private static partial Status aaruf_write_sector_tag(IntPtr context, ulong sectorAddress,
|
private static partial Status aaruf_write_sector_tag(IntPtr context, ulong sectorAddress,
|
||||||
[MarshalAs(UnmanagedType.I4)] bool negative, [In] byte[] data,
|
[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,
|
// 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,
|
// const uint64_t user_sectors, const uint64_t negative_sectors,
|
||||||
|
|||||||
Reference in New Issue
Block a user