# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2026 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

# Listing for power supply devices. Used to enumerate power sources and
# determine if the system is on AC or battery.

  abi <abi/4.0>,

  @{sys}/class/power_supply/ r,

  @{sys}/devices/**/power_supply/AC@{u8}/ r,
  @{sys}/devices/**/power_supply/AC@{u8}/online r,
  @{sys}/devices/**/power_supply/AC@{u8}/type r,
  @{sys}/devices/**/power_supply/AC/ r,
  @{sys}/devices/**/power_supply/AC/online r,
  @{sys}/devices/**/power_supply/AC/type r,
  @{sys}/devices/**/power_supply/ACAD@{u8}/ r,
  @{sys}/devices/**/power_supply/ACAD@{u8}/online r,
  @{sys}/devices/**/power_supply/ACAD@{u8}/type r,
  @{sys}/devices/**/power_supply/ADP@{u8}/ r,
  @{sys}/devices/**/power_supply/ADP@{u8}/online r,
  @{sys}/devices/**/power_supply/ADP@{u8}/type r,

  @{sys}/devices/**/power_supply/BAT@{int}/ r,
  @{sys}/devices/**/power_supply/BAT@{int}/capacity r,
  @{sys}/devices/**/power_supply/BAT@{int}/capacity_level r,
  @{sys}/devices/**/power_supply/BAT@{int}/cycle_count r,
  @{sys}/devices/**/power_supply/BAT@{int}/energy_full r,
  @{sys}/devices/**/power_supply/BAT@{int}/energy_full_design r,
  @{sys}/devices/**/power_supply/BAT@{int}/energy_now r,
  @{sys}/devices/**/power_supply/BAT@{int}/manufacturer r,
  @{sys}/devices/**/power_supply/BAT@{int}/model_name r,
  @{sys}/devices/**/power_supply/BAT@{int}/online r,
  @{sys}/devices/**/power_supply/BAT@{int}/power_now r,
  @{sys}/devices/**/power_supply/BAT@{int}/present r,
  @{sys}/devices/**/power_supply/BAT@{int}/serial_number r,
  @{sys}/devices/**/power_supply/BAT@{int}/status r,
  @{sys}/devices/**/power_supply/BAT@{int}/technology r,
  @{sys}/devices/**/power_supply/BAT@{int}/type r,
  @{sys}/devices/**/power_supply/BAT@{int}/voltage_min_design r,
  @{sys}/devices/**/power_supply/BAT@{int}/voltage_now r,

  @{sys}/devices/platform/USBC000:@{int}/power_supply/ucsi-source-psy-USBC000:@{int}/online r,
  @{sys}/devices/platform/USBC000:@{int}/power_supply/ucsi-source-psy-USBC000:@{int}/scope r,
  @{sys}/devices/platform/USBC000:@{int}/power_supply/ucsi-source-psy-USBC000:@{int}/type r,
  @{sys}/devices/platform/USBC000:@{int}/power_supply/ucsi-source-psy-USBC000:@{int}/usb_type r,

  include if exists <abstractions/sys/power-supply.d>

# vim:syntax=apparmor
