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

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


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerEdge: int32->int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgDigEdgeStartTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, int triggerEdge);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerSlope: int32->int
        ///triggerLevel: float64->double
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgAnlgEdgeStartTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, int triggerSlope, double triggerLevel);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSources: char*
        ///triggerSlopeArray: int32*
        ///triggerLevelArray: float64*
        ///arraySize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgAnlgMultiEdgeStartTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSources, ref int triggerSlopeArray, ref double triggerLevelArray, uint arraySize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerWhen: int32->int
        ///windowTop: float64->double
        ///windowBottom: float64->double
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgAnlgWindowStartTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, int triggerWhen, double windowTop, double windowBottom);


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


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerPattern: char*
        ///triggerWhen: int32->int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgDigPatternStartTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerPattern, int triggerWhen);


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


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerEdge: int32->int
        ///pretriggerSamples: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgDigEdgeRefTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, int triggerEdge, uint pretriggerSamples);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerSlope: int32->int
        ///triggerLevel: float64->double
        ///pretriggerSamples: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgAnlgEdgeRefTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, int triggerSlope, double triggerLevel, uint pretriggerSamples);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSources: char*
        ///triggerSlopeArray: int32*
        ///triggerLevelArray: float64*
        ///pretriggerSamples: uInt32->unsigned int
        ///arraySize: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgAnlgMultiEdgeRefTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSources, ref int triggerSlopeArray, ref double triggerLevelArray, uint pretriggerSamples, uint arraySize);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerWhen: int32->int
        ///windowTop: float64->double
        ///windowBottom: float64->double
        ///pretriggerSamples: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgAnlgWindowRefTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, int triggerWhen, double windowTop, double windowBottom, uint pretriggerSamples);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///triggerSource: char*
        ///triggerPattern: char*
        ///triggerWhen: int32->int
        ///pretriggerSamples: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxCfgDigPatternRefTrig(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerSource, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string triggerPattern, int triggerWhen, uint pretriggerSamples);



    }
}
