Program Listing for File external_output_stream_struct.h

Program Listing for File external_output_stream_struct.h#

Return to documentation for file (inc/external_output_stream_struct.h)

// SPDX-FileCopyrightText: 2025 Carl Zeiss Microscopy GmbH
//
// SPDX-License-Identifier: MIT

#pragma once

#include <cstdint>

#pragma pack(push, 4)

struct ExternalOutputStreamStructInterop
{
    std::uintptr_t opaque_handle1;

    std::uintptr_t opaque_handle2;

    std::int32_t(*write_function)(
        std::uintptr_t opaque_handle1,
        std::uintptr_t opaque_handle2,
        std::uint64_t offset,
        const void* pv,
        std::uint64_t size,
        std::uint64_t* out_bytes_written,
        ExternalStreamErrorInfoInterop* error_info);

    void(*close_function)(std::uintptr_t opaque_handle1, std::uintptr_t opaque_handle2);
};

#pragma pack(pop)