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

namespace NIDAQmx.Internal
{
    internal class Cal
    {
        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///channelName: char*
        ///year: uInt32*
        ///month: uInt32*
        ///day: uInt32*
        ///hour: uInt32*
        ///minute: uInt32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetAIChanCalCalDate(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string channelName, ref uint year, ref uint month, ref uint day, ref uint hour, ref uint minute);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///channelName: char*
        ///year: uInt32->unsigned int
        ///month: uInt32->unsigned int
        ///day: uInt32->unsigned int
        ///hour: uInt32->unsigned int
        ///minute: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxSetAIChanCalCalDate(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string channelName, uint year, uint month, uint day, uint hour, uint minute);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///channelName: char*
        ///year: uInt32*
        ///month: uInt32*
        ///day: uInt32*
        ///hour: uInt32*
        ///minute: uInt32*
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxGetAIChanCalExpDate(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string channelName, ref uint year, ref uint month, ref uint day, ref uint hour, ref uint minute);


        /// Return Type: int32->int
        ///taskHandle: TaskHandle->void*
        ///channelName: char*
        ///year: uInt32->unsigned int
        ///month: uInt32->unsigned int
        ///day: uInt32->unsigned int
        ///hour: uInt32->unsigned int
        ///minute: uInt32->unsigned int
        [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
        public delegate NIDAQmx.DAQmxEnum.Result DAQmxSetAIChanCalExpDate(System.IntPtr taskHandle, [System.Runtime.InteropServices.InAttribute()][System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)] string channelName, uint year, uint month, uint day, uint hour, uint minute);


    }
}
