blob: 0a35ca661e852124b7059fac22fb15f5bb04e9e5 [file] [log] [blame]
Lior David4420cfc2017-05-23 10:40:44 +03001# Copyright (c) 2017, The Linux Foundation. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions are
5# met:
6# * Redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer.
8# * Redistributions in binary form must reproduce the above
9# copyright notice, this list of conditions and the following
10# disclaimer in the documentation and/or other materials provided
11# with the distribution.
12# * Neither the name of The Linux Foundation nor the names of its
13# contributors may be used to endorse or promote products derived
14# from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28type wigighalsvc, domain;
29type wigighalsvc_exec, exec_type, vendor_file_type, file_type;
30
31init_daemon_domain(wigighalsvc)
32hal_server_domain(wigighalsvc, hal_wigig)
33
34#allows calls between client and server and vice-versa
35binder_call(hal_wigig_client, hal_wigig_server)
36binder_call(hal_wigig_server, hal_wigig_client)
37
38#allow hal clients to find the service
39allow hal_wigig_client hal_wigig_hwservice:hwservice_manager find;
40
41#register hal service
42add_hwservice(hal_wigig, hal_wigig_hwservice)
43
44# allow start/stop services via ctl.start and ctl.stop
45set_prop(hal_wigig, ctl_vendor_wigigsvc_prop)
46
Lior Davided9ef6e2017-11-21 18:23:24 +020047# access wigig properties
48# need to write vendor.wigig.driver.status
49set_prop(hal_wigig, wigig_prop);
Lior David4420cfc2017-05-23 10:40:44 +030050
51# access wifi vendor data files
52r_dir_file(hal_wigig, wifi_vendor_data_file)
53allow hal_wigig wifi_vendor_data_file:dir rw_dir_perms;
54allow hal_wigig wifi_vendor_data_file:file create_file_perms;
55
56# connect to supplicant by socket
Michael Bestas0feb07d2018-10-05 00:37:23 +030057allow hal_wigig { hal_wifi_supplicant hostapd }:unix_dgram_socket sendto;
Lior David4420cfc2017-05-23 10:40:44 +030058allow hal_wigig wpa_socket:dir rw_dir_perms;
59allow hal_wigig wpa_socket:sock_file create_file_perms;
60
61# connect to wigig_hostapd by socket
62allow hal_wigig wigig_hostapd_socket:dir rw_dir_perms;
63allow hal_wigig wigig_hostapd_socket:sock_file create_file_perms;
Lior Davided9ef6e2017-11-21 18:23:24 +020064
65# insmod /vendor/lib/modules/wil6210.ko
66allow hal_wigig self:capability sys_module;
67allow hal_wigig kernel:key search;
68allow hal_wigig vendor_file:system module_load;
69allow hal_wigig proc_modules:file r_file_perms;