## Namespace for package 'parallel'
useDynLib("parallel", .registration = TRUE, .fixes = "C_")

export(nextRNGStream, nextRNGSubStream, clusterSetRNGStream)

if(tools:::.OStype() == "unix") {
    export(mccollect, mcparallel, mc.reset.stream, mcaffinity)
}

export(closeNode, clusterApply, clusterApplyLB, clusterCall,
       clusterEvalQ, clusterExport, clusterMap, clusterSplit,
       detectCores, getDefaultCluster, makeCluster,
       makeForkCluster, makePSOCKcluster, mcMap, mclapply,
       mcmapply, parApply, parCapply, parLapply, parLapplyLB,
       parRapply, parSapply, parSapplyLB, pvec, recvData,
       recvOneData, sendData, setDefaultCluster, splitIndices,
       stopCluster, registerClusterType)

S3method(print, SOCKcluster)
S3method(print, SOCKnode)
S3method(print, SOCK0node)
S3method("[", cluster)
S3method(closeNode, SOCKnode)
S3method(closeNode, SOCK0node)
S3method(closeNode, default)
S3method(recvData, SOCKnode)
S3method(recvData, SOCK0node)
S3method(recvOneData, SOCKcluster)
S3method(sendData, SOCKnode)
S3method(sendData, SOCK0node)
S3method(stopCluster, default)
S3method(stopCluster, SOCKcluster)

## To support snow clusters
#S3method(closeNode, NWSnode)
#S3method(recvData, NWSnode)
#S3method(recvOneData, NWScluster)
#S3method(sendData, NWSnode)
#S3method(stopCluster, NWScluster)
S3method(recvData, MPInode)
S3method(recvOneData, MPIcluster)
S3method(sendData, MPInode)
S3method(stopCluster, MPIcluster)
S3method(stopCluster, spawnedMPIcluster)
