From: Karel Zak Date: Thu, 31 Aug 2017 08:37:36 +0000 (+0200) Subject: build-sys: remove unused rfkill.py X-Git-Tag: v2.31-rc1~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24f9dde539777417325d6039e2f2387d792afe96;p=thirdparty%2Futil-linux.git build-sys: remove unused rfkill.py Signed-off-by: Karel Zak --- diff --git a/sys-utils/rfkill.py b/sys-utils/rfkill.py deleted file mode 100755 index 57dcddc06e..0000000000 --- a/sys-utils/rfkill.py +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env python -# -# rfkill control code -# -# Copyright (c) 2015 Intel Corporation -# -# Author: Johannes Berg -# -# This software may be distributed under the terms of the MIT license. -# See COPYING for more details. - -import struct -import fcntl -import os - -(TYPE_ALL, - TYPE_WLAN, - TYPE_BLUETOOTH, - TYPE_UWB, - TYPE_WIMAX, - TYPE_WWAN, - TYPE_GPS, - TYPE_FM, - TYPE_NFC) = range(9) - -(_OP_ADD, - _OP_DEL, - _OP_CHANGE, - _OP_CHANGE_ALL) = range(4) - -_type_names = { - TYPE_ALL: "all", - TYPE_WLAN: "Wireless LAN", - TYPE_BLUETOOTH: "Bluetooth", - TYPE_UWB: "Ultra-Wideband", - TYPE_WIMAX: "WiMAX", - TYPE_WWAN: "Wireless WAN", - TYPE_GPS: "GPS", - TYPE_FM: "FM", - TYPE_NFC: "NFC", -} - -# idx, type, op, soft, hard -_event_struct = '@IBBBB' -_event_sz = struct.calcsize(_event_struct) - -class RFKillException(Exception): - pass - -class RFKill(object): - def __init__(self, idx): - self._idx = idx - self._type = None - - @property - def idx(self): - return self._idx - - @property - def name(self): - return open('/sys/class/rfkill/rfkill%d/name' % self._idx, 'r').read().rstrip() - - @property - def type(self): - if not self._type: - for r, s, h in RFKill.list(): - if r.idx == self.idx: - self._type = r._type - break - return self._type - - @property - def type_name(self): - return _type_names.get(self._type, "unknown") - - @property - def blocked(self): - l = RFKill.list() - for r, s, h in l: - if r.idx == self.idx: - return (s, h) - raise RFKillException("RFKill instance no longer exists") - - @property - def soft_blocked(self): - return self.blocked[0] - - @soft_blocked.setter - def soft_blocked(self, block): - if block: - self.block() - else: - self.unblock() - - @property - def hard_blocked(self): - return self.blocked[1] - - def block(self): - rfk = open('/dev/rfkill', 'w') - s = struct.pack(_event_struct, self.idx, TYPE_ALL, _OP_CHANGE, 1, 0) - rfk.write(s) - rfk.close() - - def unblock(self): - rfk = open('/dev/rfkill', 'w') - s = struct.pack(_event_struct, self.idx, TYPE_ALL, _OP_CHANGE, 0, 0) - rfk.write(s) - rfk.close() - - @classmethod - def block_all(cls, t=TYPE_ALL): - rfk = open('/dev/rfkill', 'w') - print rfk - s = struct.pack(_event_struct, 0, t, _OP_CHANGE_ALL, 1, 0) - rfk.write(s) - rfk.close() - - @classmethod - def unblock_all(cls, t=TYPE_ALL): - rfk = open('/dev/rfkill', 'w') - s = struct.pack(_event_struct, 0, t, _OP_CHANGE_ALL, 0, 0) - rfk.write(s) - rfk.close() - - @classmethod - def list(cls): - res = [] - rfk = open('/dev/rfkill', 'r') - fd = rfk.fileno() - flgs = fcntl.fcntl(fd, fcntl.F_GETFL) - fcntl.fcntl(fd, fcntl.F_SETFL, flgs | os.O_NONBLOCK) - while True: - try: - d = rfk.read(_event_sz) - _idx, _t, _op, _s, _h = struct.unpack(_event_struct, d) - if _op != _OP_ADD: - continue - r = RFKill(_idx) - r._type = _t - res.append((r, _s, _h)) - except IOError: - break - return res - -if __name__ == "__main__": - for r, s, h in RFKill.list(): - print "%d: %s: %s" % (r.idx, r.name, r.type_name) - print "\tSoft blocked: %s" % ("yes" if s else "no") - print "\tHard blocked: %s" % ("yes" if h else "no")