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

namespace NIDAQmx.Internal
{
    internal class Write
    {
        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteRelativeTo(System.IntPtr taskHandle, IntPtr data);
        ///// Return Type: int32->int
        /////taskHandle: TaskHandle->void*
        /////data: int32*
        //[System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        //public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteRelativeTo(System.IntPtr taskHandle, ref WriteRelativeTo data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32->int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxSetWriteRelativeTo(System.IntPtr taskHandle, int data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxResetWriteRelativeTo(System.IntPtr taskHandle);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOffset(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32->int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxSetWriteOffset(System.IntPtr taskHandle, int data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxResetWriteOffset(System.IntPtr taskHandle);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteRegenMode(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32->int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxSetWriteRegenMode(System.IntPtr taskHandle, WriteRegenMode data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxResetWriteRegenMode(System.IntPtr taskHandle);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: uInt64*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteCurrWritePos(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOvercurrentChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOvercurrentChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOvertemperatureChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOvertemperatureChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteExternalOvervoltageChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteExternalOvervoltageChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOverloadedChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOverloadedChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOpenCurrentLoopChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteOpenCurrentLoopChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWritePowerSupplyFaultChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWritePowerSupplyFaultChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteSyncUnlockedChansExist(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteSyncUnlockedChans(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: uInt32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteSpaceAvail(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: uInt64*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteTotalSampPerChanGenerated(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: bool32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteAccessoryInsertionOrRemovalDetected(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: char*
        ///bufferSize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteDevsWithInsertedOrRemovedAccessories(System.IntPtr taskHandle, System.IntPtr data, uint bufferSize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: uInt32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteRawDataWidth(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: uInt32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteNumChans(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteWaitMode(System.IntPtr taskHandle, IntPtr data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: int32->int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxSetWriteWaitMode(System.IntPtr taskHandle, int data);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxResetWriteWaitMode(System.IntPtr taskHandle);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: float64*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteSleepTime(System.IntPtr taskHandle, IntPtr data);


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


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxResetWriteSleepTime(System.IntPtr taskHandle);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///data: uInt32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetWriteDigitalLinesBytesPerChan(System.IntPtr taskHandle, IntPtr data);
    }
}
