csminer/capi/capi.go

88 lines
1.9 KiB
Go
Raw Normal View History

2020-08-11 05:30:20 +03:00
package main
import "C"
import (
"github.com/cryptonote-social/csminer/minerlib"
2020-08-11 05:30:20 +03:00
)
//export PoolLogin
func PoolLogin(
username *C.char,
rigid *C.char,
wallet *C.char,
agent *C.char,
config *C.char) (
code int,
message *C.char) {
args := &minerlib.PoolLoginArgs{
2020-08-11 05:30:20 +03:00
Username: C.GoString(username),
RigID: C.GoString(rigid),
Wallet: C.GoString(wallet),
Agent: C.GoString(agent),
Config: C.GoString(config),
}
resp := minerlib.PoolLogin(args)
2020-08-11 05:30:20 +03:00
return resp.Code, C.CString(resp.Message)
}
2020-08-12 22:01:50 +03:00
//export InitMiner
func InitMiner(threads int, excludeHrStart, excludeHrEnd int) (code int, message *C.char) {
args := &minerlib.InitMinerArgs{
Threads: threads,
ExcludeHourStart: excludeHrStart,
ExcludeHourEnd: excludeHrEnd,
}
2020-08-12 22:01:50 +03:00
resp := minerlib.InitMiner(args)
return resp.Code, C.CString(resp.Message)
}
2020-08-14 00:30:58 +03:00
//export GetMinerState
func GetMinerState() (
miningActivity int,
threads int,
recentHashrate float64,
username *C.char,
secondsOld int,
lifetimeHashes int64,
paid, owed, accumulated float64,
timeToReward *C.char) {
resp := minerlib.GetMiningState()
return resp.MiningActivity, resp.Threads, resp.RecentHashrate,
C.CString(resp.PoolUsername), resp.SecondsOld, resp.LifetimeHashes,
resp.Paid, resp.Owed, resp.Accumulated, C.CString(resp.TimeToReward)
}
2020-08-15 22:01:21 +03:00
//export IncreaseThreads
func IncreaseThreads() {
minerlib.IncreaseThreads()
}
//export DecreaseThreads
func DecreaseThreads() {
minerlib.DecreaseThreads()
}
2020-08-15 22:44:08 +03:00
//export OverrideMiningActivityState
func OverrideMiningActivityState(mine bool) {
minerlib.OverrideMiningActivityState(mine)
}
//export RemoveMiningActivityOverride
func RemoveMiningActivityOverride() {
minerlib.RemoveMiningActivityOverride()
}
//export ReportLockScreenState
func ReportLockScreenState(locked bool) {
minerlib.ReportIdleScreenState(locked)
2020-08-15 22:44:08 +03:00
}
//export ReportPowerState
func ReportPowerState(onBattery bool) {
minerlib.ReportPowerState(onBattery)
}
2020-08-11 05:30:20 +03:00
func main() {}