module CSimulationThreads use iso_c_binding implicit none public ! Thread Related Variables integer(INT_PTR_KIND()), parameter :: ThreadSecurity = 0 integer(INT_PTR_KIND()), parameter :: ThreadStackSize = 0 integer(4) :: ApiResult integer(4) :: WaitForStopMs = 500 !BopStack integer(INT_PTR_KIND()) :: BopStackThreadHandle integer(INT_PTR_KIND()) :: BopStackThreadId integer(4) :: BopStackThreadParam = 0 !Pumps integer(INT_PTR_KIND()) :: Pump1ThreadHandle integer(INT_PTR_KIND()) :: Pump2ThreadHandle integer(INT_PTR_KIND()) :: Pump3ThreadHandle integer(INT_PTR_KIND()) :: Pump1ThreadId integer(INT_PTR_KIND()) :: Pump2ThreadId integer(INT_PTR_KIND()) :: Pump3ThreadId integer(4) :: Pump1ThreadParam = 0 integer(4) :: Pump2ThreadParam = 0 integer(4) :: Pump3ThreadParam = 0 !ChokeControl integer(INT_PTR_KIND()) :: ChokeControlThreadHandle integer(INT_PTR_KIND()) :: ChokeControlThreadId integer(4) :: ChokeControlThreadParam = 0 !Rop integer(INT_PTR_KIND()) :: RopThreadHandle integer(INT_PTR_KIND()) :: RopThreadId integer(4) :: RopThreadParam = 0 !RotaryTable integer(INT_PTR_KIND()) :: RotaryTableThreadHandle integer(INT_PTR_KIND()) :: RotaryTableThreadId integer(4) :: RotaryTableThreadParam = 0 !FluidFlow integer(INT_PTR_KIND()) :: FluidFlowThreadHandle integer(INT_PTR_KIND()) :: FluidFlowThreadId integer(4) :: FluidFlowThreadParam = 0 !TorqueDrag integer(INT_PTR_KIND()) :: TorqueDragThreadHandle integer(INT_PTR_KIND()) :: TorqueDragThreadId integer(4) :: TorqueDragThreadParam = 0 !TopDrive integer(INT_PTR_KIND()) :: TopDriveThreadHandle integer(INT_PTR_KIND()) :: TopDriveThreadId integer(4) :: TopDriveThreadParam = 0 !Drawworks integer(INT_PTR_KIND()) :: DrawworksThreadHandle integer(INT_PTR_KIND()) :: DrawworksThreadId integer(4) :: DrawworksThreadParam = 0 !Geo integer(INT_PTR_KIND()) :: GeoThreadHandle integer(INT_PTR_KIND()) :: GeoThreadId integer(4) :: GeoThreadParam = 0 !MudFlowFillIndicator integer(INT_PTR_KIND()) :: MudFlowFillIndicatorThreadHandle integer(INT_PTR_KIND()) :: MudFlowFillIndicatorThreadId integer(4) :: MudFlowFillIndicatorThreadParam = 0 !MudSystem integer(INT_PTR_KIND()) :: MudSystemThreadHandle integer(INT_PTR_KIND()) :: MudSystemThreadId integer(4) :: MudSystemThreadParam = 0 !PipeRams1 integer(INT_PTR_KIND()) :: PipeRams1ThreadHandle integer(INT_PTR_KIND()) :: PipeRams1ThreadId integer(4) :: PipeRams1ThreadParam = 0 !PipeRams2 integer(INT_PTR_KIND()) :: PipeRams2ThreadHandle integer(INT_PTR_KIND()) :: PipeRams2ThreadId integer(4) :: PipeRams2ThreadParam = 0 !KillLine integer(INT_PTR_KIND()) :: KillLineThreadHandle integer(INT_PTR_KIND()) :: KillLineThreadId integer(4) :: KillLineThreadParam = 0 !ChokeLine integer(INT_PTR_KIND()) :: ChokeLineThreadHandle integer(INT_PTR_KIND()) :: ChokeLineThreadId integer(4) :: ChokeLineThreadParam = 0 !BlindRams integer(INT_PTR_KIND()) :: BlindRamsThreadHandle integer(INT_PTR_KIND()) :: BlindRamsThreadId integer(4) :: BlindRamsThreadParam = 0 !Annular integer(INT_PTR_KIND()) :: AnnularThreadHandle integer(INT_PTR_KIND()) :: AnnularThreadId integer(4) :: AnnularThreadParam = 0 !OperationScenarios integer(INT_PTR_KIND()) :: OperationScenariosThreadHandle integer(INT_PTR_KIND()) :: OperationScenariosThreadId integer(4) :: OperationScenariosThreadParam = 0 !PathFinding integer(INT_PTR_KIND()) :: PathFindingThreadHandle integer(INT_PTR_KIND()) :: PathFindingThreadId integer(4) :: PathFindingThreadParam = 0 ! just for now !Sample integer(INT_PTR_KIND()) :: SampleThreadHandle integer(INT_PTR_KIND()) :: SampleThreadId integer(4) :: SampleThreadParam = 0 #ifdef disEnableSimulation !Test integer(INT_PTR_KIND()) :: TestThreadHandle integer(INT_PTR_KIND()) :: TestThreadId integer(4) :: TestThreadParam = 0 #endif contains end module CSimulationThreads