using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NIDAQmx.Internal
{
    internal class DataRead
    {
    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: float64*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadAnalogF64(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref double readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///value: float64*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadAnalogScalarF64(System.IntPtr taskHandle, double timeout, ref double value, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: int16*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadBinaryI16(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref short readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt16*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadBinaryU16(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref ushort readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: int32*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadBinaryI32(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref int readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt32*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadBinaryU32(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref uint readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt8*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadDigitalU8(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref byte readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt16*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadDigitalU16(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref ushort readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt32*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadDigitalU32(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref uint readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///value: uInt32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadDigitalScalarU32(System.IntPtr taskHandle, double timeout, ref uint value, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt8*
    ///arraySizeInBytes: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///numBytesPerSamp: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadDigitalLines(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref byte readArray, uint arraySizeInBytes, ref int sampsPerChanRead, ref int numBytesPerSamp, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///readArray: float64*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCounterF64(System.IntPtr taskHandle, int numSampsPerChan, double timeout, ref double readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///readArray: uInt32*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCounterU32(System.IntPtr taskHandle, int numSampsPerChan, double timeout, ref uint readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: float64*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCounterF64Ex(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref double readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///fillMode: bool32->uInt32->unsigned int
    ///readArray: uInt32*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCounterU32Ex(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool fillMode, ref uint readArray, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///value: float64*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCounterScalarF64(System.IntPtr taskHandle, double timeout, ref double value, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///value: uInt32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCounterScalarU32(System.IntPtr taskHandle, double timeout, ref uint value, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///interleaved: bool32->uInt32->unsigned int
    ///readArrayFrequency: float64*
    ///readArrayDutyCycle: float64*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCtrFreq(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool interleaved, ref double readArrayFrequency, ref double readArrayDutyCycle, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///interleaved: bool32->uInt32->unsigned int
    ///readArrayHighTime: float64*
    ///readArrayLowTime: float64*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCtrTime(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool interleaved, ref double readArrayHighTime, ref double readArrayLowTime, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///interleaved: bool32->uInt32->unsigned int
    ///readArrayHighTicks: uInt32*
    ///readArrayLowTicks: uInt32*
    ///arraySizeInSamps: uInt32->unsigned int
    ///sampsPerChanRead: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCtrTicks(System.IntPtr taskHandle, int numSampsPerChan, double timeout, bool interleaved, ref uint readArrayHighTicks, ref uint readArrayLowTicks, uint arraySizeInSamps, ref int sampsPerChanRead, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///frequency: float64*
    ///dutyCycle: float64*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCtrFreqScalar(System.IntPtr taskHandle, double timeout, ref double frequency, ref double dutyCycle, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///highTime: float64*
    ///lowTime: float64*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCtrTimeScalar(System.IntPtr taskHandle, double timeout, ref double highTime, ref double lowTime, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///timeout: float64->double
    ///highTicks: uInt32*
    ///lowTicks: uInt32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadCtrTicksScalar(System.IntPtr taskHandle, double timeout, ref uint highTicks, ref uint lowTicks, IntPtr reserved);


    /// Return Type: int32->int
    ///taskHandle: TaskHandle->void*
    ///numSampsPerChan: int32->int
    ///timeout: float64->double
    ///readArray: void*
    ///arraySizeInBytes: uInt32->unsigned int
    ///sampsRead: int32*
    ///numBytesPerSamp: int32*
    ///reserved: bool32*
    [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
    public delegate NIDAQmx.DAQmxEnum.Result DAQmxReadRaw(System.IntPtr taskHandle, int numSampsPerChan, double timeout, ref Byte readArray, uint arraySizeInBytes, ref int sampsRead, ref int numBytesPerSamp, IntPtr reserved);

    }
}
