gitee.com/mysnapcore/mysnapd@v0.1.0/interfaces/builtin/ptp.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 3 /* 4 * Copyright (C) 2020 Canonical Ltd 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 3 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package builtin 21 22 const ptpSummary = `allows access to the PTP Hardware Clock subsystem` 23 24 const ptpBaseDeclarationSlots = ` 25 ptp: 26 allow-installation: 27 slot-snap-type: 28 - core 29 deny-auto-connection: true 30 ` 31 32 const ptpConnectedPlugAppArmor = ` 33 # Description: Can access PTP Hardware Clock subsystem. 34 # Devices 35 /dev/ptp[0-9]* rw, 36 # /sys/class/ptp specified by the kernel docs 37 /sys/class/ptp/ptp[0-9]*/{extts_enable,period,pps_enable} w, 38 /sys/class/ptp/ptp[0-9]*/* r, 39 ` 40 41 var ptpConnectedPlugUDev = []string{ 42 `SUBSYSTEM=="ptp", KERNEL=="ptp[0-9]*"`, 43 } 44 45 func init() { 46 registerIface(&commonInterface{ 47 name: "ptp", 48 summary: ptpSummary, 49 implicitOnCore: true, 50 implicitOnClassic: true, 51 baseDeclarationSlots: ptpBaseDeclarationSlots, 52 connectedPlugAppArmor: ptpConnectedPlugAppArmor, 53 connectedPlugUDev: ptpConnectedPlugUDev, 54 }) 55 }