function [methodinfo,structs,enuminfo,ThunkLibName]=ps5000aWrapMFile_glnxa64
%PS5000AWRAPMFILE_GLNXA64 Create structures to define interfaces found in 'ps5000aWrap'.

%This function was generated by loadlibrary.m parser version  on Fri Oct 12 14:45:58 2018
%perl options:'ps5000aWrap.i -outfile=ps5000aWrapMFile_glnxa64.m -thunkfile=ps5000aWrap_thunk_glnxa64.c -header=ps5000aWrap.h'
ival={cell(1,0)}; % change 0 to the actual number of functions to preallocate the data.
structs=[];enuminfo=[];fcnNum=1;
fcns=struct('name',ival,'calltype',ival,'LHS',ival,'RHS',ival,'alias',ival,'thunkname', ival);
MfilePath=fileparts(mfilename('fullpath'));
ThunkLibName=fullfile(MfilePath,'ps5000aWrap_thunk_glnxa64');
% extern PICO_STATUS RunBlock ( int16_t handle , int32_t preTriggerSamples , int32_t postTriggerSamples , uint32_t timebase , uint32_t segmentIndex ); 
fcns.thunkname{fcnNum}='uint32int16int32int32uint32uint32Thunk';fcns.name{fcnNum}='RunBlock'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32', 'int32', 'uint32', 'uint32'};fcnNum=fcnNum+1;
% extern PICO_STATUS GetStreamingLatestValues ( int16_t handle ); 
fcns.thunkname{fcnNum}='uint32int16Thunk';fcns.name{fcnNum}='GetStreamingLatestValues'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% extern uint32_t AvailableData ( int16_t handle , uint32_t * startIndex ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrThunk';fcns.name{fcnNum}='AvailableData'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'uint32Ptr'};fcnNum=fcnNum+1;
% extern int16_t AutoStopped ( int16_t handle ); 
fcns.thunkname{fcnNum}='int16int16Thunk';fcns.name{fcnNum}='AutoStopped'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int16'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% extern int16_t IsReady ( int16_t handle ); 
fcns.thunkname{fcnNum}='int16int16Thunk';fcns.name{fcnNum}='IsReady'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int16'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% extern int16_t IsTriggerReady ( int16_t handle , uint32_t * triggeredAt ); 
fcns.thunkname{fcnNum}='int16int16voidPtrThunk';fcns.name{fcnNum}='IsTriggerReady'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int16'; fcns.RHS{fcnNum}={'int16', 'uint32Ptr'};fcnNum=fcnNum+1;
% extern PICO_STATUS ClearTriggerReady ( int16_t handle ); 
fcns.thunkname{fcnNum}='uint32int16Thunk';fcns.name{fcnNum}='ClearTriggerReady'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetTriggerConditions ( int16_t handle , int32_t * conditionsArray , int16_t nConditions ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16Thunk';fcns.name{fcnNum}='SetTriggerConditions'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetTriggerProperties ( int16_t handle , int32_t * propertiesArray , int16_t nProperties , int32_t autoTrig ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16int32Thunk';fcns.name{fcnNum}='SetTriggerProperties'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16', 'int32'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetPulseWidthQualifier ( int16_t handle , int32_t * pwqConditionsArray , int16_t nConditions , int32_t direction , uint32_t lower , uint32_t upper , int32_t type ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16int32uint32uint32int32Thunk';fcns.name{fcnNum}='SetPulseWidthQualifier'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16', 'int32', 'uint32', 'uint32', 'int32'};fcnNum=fcnNum+1;
% extern PICO_STATUS setChannelCount ( int16_t handle , int16_t channelCount ); 
fcns.thunkname{fcnNum}='uint32int16int16Thunk';fcns.name{fcnNum}='setChannelCount'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS setEnabledChannels ( int16_t handle , int16_t * enabledChannels ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrThunk';fcns.name{fcnNum}='setEnabledChannels'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% extern PICO_STATUS setAppAndDriverBuffers ( int16_t handle , PS5000A_CHANNEL channel , int16_t * appBuffer , int16_t * driverBuffer , uint32_t bufferLength ); 
fcns.thunkname{fcnNum}='uint32int16PS5000A_CHANNELvoidPtrvoidPtruint32Thunk';fcns.name{fcnNum}='setAppAndDriverBuffers'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannel', 'int16Ptr', 'int16Ptr', 'uint32'};fcnNum=fcnNum+1;
% extern PICO_STATUS setMaxMinAppAndDriverBuffers ( int16_t handle , PS5000A_CHANNEL channel , int16_t * appMaxBuffer , int16_t * appMinBuffer , int16_t * driverMaxBuffer , int16_t * driverMinBuffer , uint32_t bufferLength ); 
fcns.thunkname{fcnNum}='uint32int16PS5000A_CHANNELvoidPtrvoidPtrvoidPtrvoidPtruint32Thunk';fcns.name{fcnNum}='setMaxMinAppAndDriverBuffers'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannel', 'int16Ptr', 'int16Ptr', 'int16Ptr', 'int16Ptr', 'uint32'};fcnNum=fcnNum+1;
% extern PICO_STATUS setEnabledDigitalPorts ( int16_t handle , int16_t * enabledDigitalPorts ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrThunk';fcns.name{fcnNum}='setEnabledDigitalPorts'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% extern PICO_STATUS getOverflow ( int16_t handle , int16_t * overflow ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrThunk';fcns.name{fcnNum}='getOverflow'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetTriggerConditionsV2 ( int16_t handle , int32_t * conditionsArray , int16_t nConditions , PS5000A_CONDITIONS_INFO info ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16PS5000A_CONDITIONS_INFOThunk';fcns.name{fcnNum}='SetTriggerConditionsV2'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16', 'enPS5000AConditionsInfo'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetTriggerDirectionsV2 ( int16_t handle , int32_t * directions , int16_t nDirections ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16Thunk';fcns.name{fcnNum}='SetTriggerDirectionsV2'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetTriggerPropertiesV2 ( int16_t handle , int32_t * propertiesArray , int16_t nProperties ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16Thunk';fcns.name{fcnNum}='SetTriggerPropertiesV2'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetTriggerDigitalPortProperties ( int16_t handle , int32_t * digitalDirections , int16_t nDirections ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16Thunk';fcns.name{fcnNum}='SetTriggerDigitalPortProperties'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetPulseWidthQualifierConditions ( int16_t handle , int32_t * pwqConditionsArray , int16_t nConditions , PS5000A_CONDITIONS_INFO info ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16PS5000A_CONDITIONS_INFOThunk';fcns.name{fcnNum}='SetPulseWidthQualifierConditions'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16', 'enPS5000AConditionsInfo'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetPulseWidthQualifierDirections ( int16_t handle , int32_t * pwqDirectionsArray , int16_t nDirections ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16Thunk';fcns.name{fcnNum}='SetPulseWidthQualifierDirections'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16'};fcnNum=fcnNum+1;
% extern PICO_STATUS SetPulseWidthDigitalPortProperties ( int16_t handle , int32_t * pwqDigitalDirections , int16_t nDirections ); 
fcns.thunkname{fcnNum}='uint32int16voidPtrint16Thunk';fcns.name{fcnNum}='SetPulseWidthDigitalPortProperties'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='uint32'; fcns.RHS{fcnNum}={'int16', 'int32Ptr', 'int16'};fcnNum=fcnNum+1;
structs.tWrapBufferInfo.members=struct('driverBuffers', 'int16PtrPtr', 'appBuffers', 'int16PtrPtr', 'bufferLengths', 'uint32#4', 'driverDigiBuffers', 'int16PtrPtr', 'appDigiBuffers', 'int16PtrPtr', 'digiBufferLengths', 'uint32#4');
enuminfo.enPS5000AWrapDigitalPortIndex=struct('PS5000A_WRAP_DIGITAL_PORT0',0,'PS5000A_WRAP_DIGITAL_PORT1',1);
enuminfo.enPS5000AChannel=struct('PS5000A_CHANNEL_A',0,'PS5000A_CHANNEL_B',1,'PS5000A_CHANNEL_C',2,'PS5000A_CHANNEL_D',3,'PS5000A_EXTERNAL',4,'PS5000A_MAX_CHANNELS',4,'PS5000A_TRIGGER_AUX',5,'PS5000A_MAX_TRIGGER_SOURCES',6,'PS5000A_DIGITAL_PORT0',128,'PS5000A_DIGITAL_PORT1',129,'PS5000A_DIGITAL_PORT2',130,'PS5000A_DIGITAL_PORT3',131,'PS5000A_PULSE_WIDTH_SOURCE',268435456);
enuminfo.enPS5000AConditionsInfo=struct('PS5000A_CLEAR',1,'PS5000A_ADD',2);
enuminfo.enBOOL=struct('FALSE',0,'TRUE',1);
methodinfo=fcns;