SMC_KEY
if (key > SMC_KEY(gPff))
apple_smc_rw_locked(smc, SMC_KEY(NTAP), &flag, sizeof(flag), NULL, 0);
apple_smc_write_flag(smc, SMC_KEY(NTAP), false);
ret = apple_smc_read_u32(smc, SMC_KEY(#KEY), &count);
apple_smc_write_flag(smc, SMC_KEY(NTAP), true);
if (apple_smc_write_u32_atomic(reboot->smc, SMC_KEY(MBSE), SMC_KEY(off1)) < 0) {
if (apple_smc_write_u32_atomic(reboot->smc, SMC_KEY(MBSE), SMC_KEY(phra)) < 0) {
val = SMC_KEY(rest);
val = SMC_KEY(offw);
if (apple_smc_write_u32(reboot->smc, SMC_KEY(MBSE), val) < 0)
ret = apple_smc_read_u32(power->smc, SMC_KEY(CH0R), &nopower_flags);
ret = apple_smc_read_flag(power->smc, SMC_KEY(CHCE), &flag);
ret = apple_smc_read_flag(power->smc, SMC_KEY(CHCC), &flag);
ret = apple_smc_read_u16(power->smc, SMC_KEY(AC-i), &ac_current);
ret = apple_smc_read_flag(power->smc, SMC_KEY(BSFC), &flag);
ret = apple_smc_read_u16(power->smc, SMC_KEY(CHLS), &vu16);
ret = apple_smc_read_flag(power->smc, SMC_KEY(CHWA), &flag);
if (apple_smc_read_u8(power->smc, SMC_KEY(BUIC), &buic) >= 0 &&
ret = apple_smc_read_u64(power->smc, SMC_KEY(CHNC), &nocharge_flags);
ret = apple_smc_read_flag(power->smc, SMC_KEY(CHSC), &flag);
ret = apple_smc_read_u8(power->smc, SMC_KEY(CH0I), &val8);
ret = apple_smc_read(power->smc, SMC_KEY(CHTE), chte_buf, 4);
ret = apple_smc_read_u8(power->smc, SMC_KEY(CH0C), &val8);
ret = apple_smc_write_u8(power->smc, SMC_KEY(CH0I), 0);
ret = apple_smc_write_u32(power->smc, SMC_KEY(CHTE), 0);
ret = apple_smc_write_u8(power->smc, SMC_KEY(CH0C), 0);
return apple_smc_write_u32(power->smc, SMC_KEY(CHTE), 1);
return apple_smc_write_u8(power->smc, SMC_KEY(CH0C), 1);
return apple_smc_write_u8(power->smc, SMC_KEY(CH0I), 1);
ret = apple_smc_read_u8(power->smc, SMC_KEY(BCF0), &tval);
return apple_smc_read_u32(power->smc, SMC_KEY(BCF0), val);
if (apple_smc_read_u32(power->smc, SMC_KEY(ACSt), &val) >= 0) {
ret = apple_smc_read_flag(power->smc, SMC_KEY(BSFC), &flag);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0TE), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0TF), &vu16);
ret = apple_smc_read_u8(power->smc, SMC_KEY(BUIC), &vu8);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0AV), &vu16);
ret = apple_smc_read_s16(power->smc, SMC_KEY(B0AC), &vs16);
ret = apple_smc_read_s32(power->smc, SMC_KEY(B0AP), &vs32);
ret = apple_smc_read_u16(power->smc, SMC_KEY(BITV), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(BVVN), &vu16);
ret = apple_smc_read_s16(power->smc, SMC_KEY(BLPM), &vs16);
ret = apple_smc_read_s16(power->smc, SMC_KEY(BLPX), &vs16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0RC), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0RI), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0RV), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0DC), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0FC), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0RM), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0DC), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0FC), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0RM), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0AT), &vu16);
ret = apple_smc_read_s64(power->smc, SMC_KEY(BAAC), &vs64);
ret = apple_smc_read_u16(power->smc, SMC_KEY(B0CT), &vu16);
ret = apple_smc_read_flag(power->smc, SMC_KEY(BBAD), &flag);
ret = apple_smc_read_u32(power->smc, SMC_KEY(CHIS), &vu32);
ret = apple_smc_read_u16(power->smc, SMC_KEY(AC-n), &vu16);
ret = apple_smc_read_u16(power->smc, SMC_KEY(AC-i), &vu16);
ret = apple_smc_read_u32(power->smc, SMC_KEY(ACPW), &vu32);
if (apple_smc_read_u16(power->smc, SMC_KEY(BITV), &bitv) >= 0 &&
apple_smc_read_u16(power->smc, SMC_KEY(B0AV), &b0av) >= 0 &&
if (apple_smc_read_u16(power->smc, SMC_KEY(B0AV), &vu16) == 0 &&
if (apple_smc_key_exists(smc, SMC_KEY(CHIS)))
if (apple_smc_key_exists(smc, SMC_KEY(CHTE)))
if (apple_smc_key_exists(smc, SMC_KEY(CH0C)))
if (apple_smc_key_exists(smc, SMC_KEY(CH0I)))
ret = apple_smc_get_key_info(power->smc, SMC_KEY(BCF0), &info);
apple_smc_write_u32(smc, SMC_KEY(CHTE), 0);
apple_smc_write_u8(smc, SMC_KEY(CH0C), 0);
apple_smc_write_u8(smc, SMC_KEY(CH0I), 0);
apple_smc_write_u8(smc, SMC_KEY(CH0K), 0);
apple_smc_write_u8(smc, SMC_KEY(CH0B), 0);
if (apple_smc_read_flag(power->smc, SMC_KEY(CHWA), &flag) == 0)
else if (apple_smc_read_u16(power->smc, SMC_KEY(CHLS), &vu16) >= 0)
apple_smc_read(smc, SMC_KEY(BMDN), power->model_name,
apple_smc_read(smc, SMC_KEY(BMSN), power->serial_number,
apple_smc_read(smc, SMC_KEY(BMDT), power->mfg_date,
apple_smc_read_u8(power->smc, SMC_KEY(BNCB), &power->num_cells);
if (apple_smc_key_exists(power->smc, SMC_KEY(ACPW)))
if (apple_smc_read_u16(power->smc, SMC_KEY(AC-n), &vu16) >= 0) {
ret = apple_smc_read(rtc->smc, SMC_KEY(CLKM), &ctr, RTC_BYTES);
ret = apple_smc_read(rtc->smc, SMC_KEY(CLKM), &ctr, RTC_BYTES);