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

export(nextRNGStream, nextRNGSubStream, clusterSetRNGStream, detectCores)

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

export(clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
       clusterExport, clusterMap, clusterSplit, makeCluster,
       makeForkCluster, makePSOCKcluster, mclapply, parApply,
       parCapply, parLapply, parRapply, parSapply, pvec,
       splitIndices, # used by e.g. spdep
       stopCluster)

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

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