xref: /aosp_15_r20/system/sepolicy/public/ioctl_macros (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Worker# socket ioctls allowed to unprivileged apps
2*e4a36f41SAndroid Build Coastguard Workerdefine(`unpriv_sock_ioctls', `
3*e4a36f41SAndroid Build Coastguard Worker{
4*e4a36f41SAndroid Build Coastguard Worker# Socket ioctls for gathering information about the interface
5*e4a36f41SAndroid Build Coastguard WorkerSIOCGSTAMP SIOCGSTAMPNS
6*e4a36f41SAndroid Build Coastguard WorkerSIOCGIFNAME SIOCGIFCONF SIOCGIFFLAGS SIOCGIFADDR SIOCGIFDSTADDR SIOCGIFBRDADDR
7*e4a36f41SAndroid Build Coastguard WorkerSIOCGIFNETMASK SIOCGIFMTU SIOCGIFINDEX SIOCGIFCOUNT SIOCGIFTXQLEN
8*e4a36f41SAndroid Build Coastguard Worker# Wireless extension ioctls. Primarily get functions.
9*e4a36f41SAndroid Build Coastguard WorkerSIOCGIWNAME SIOCGIWFREQ SIOCGIWMODE SIOCGIWSENS SIOCGIWRANGE SIOCGIWPRIV
10*e4a36f41SAndroid Build Coastguard WorkerSIOCGIWSTATS SIOCGIWSPY SIOCSIWTHRSPY SIOCGIWTHRSPY SIOCGIWRATE SIOCGIWRTS
11*e4a36f41SAndroid Build Coastguard WorkerSIOCGIWFRAG SIOCGIWTXPOW SIOCGIWRETRY SIOCGIWPOWER
12*e4a36f41SAndroid Build Coastguard Worker}')
13*e4a36f41SAndroid Build Coastguard Worker
14*e4a36f41SAndroid Build Coastguard Worker# socket ioctls never allowed to unprivileged apps
15*e4a36f41SAndroid Build Coastguard Workerdefine(`priv_sock_ioctls', `
16*e4a36f41SAndroid Build Coastguard Worker{
17*e4a36f41SAndroid Build Coastguard Worker# qualcomm rmnet ioctls
18*e4a36f41SAndroid Build Coastguard WorkerWAN_IOC_ADD_FLT_RULE WAN_IOC_ADD_FLT_INDEX
19*e4a36f41SAndroid Build Coastguard Worker# socket ioctls
20*e4a36f41SAndroid Build Coastguard WorkerSIOCADDRT SIOCDELRT SIOCRTMSG SIOCSIFLINK SIOCSIFFLAGS SIOCSIFADDR
21*e4a36f41SAndroid Build Coastguard WorkerSIOCSIFDSTADDR SIOCSIFBRDADDR SIOCSIFNETMASK SIOCGIFMETRIC SIOCSIFMETRIC SIOCGIFMEM
22*e4a36f41SAndroid Build Coastguard WorkerSIOCSIFMEM SIOCSIFMTU SIOCSIFNAME SIOCSIFHWADDR SIOCGIFENCAP SIOCSIFENCAP
23*e4a36f41SAndroid Build Coastguard WorkerSIOCGIFHWADDR SIOCGIFSLAVE SIOCSIFSLAVE SIOCADDMULTI SIOCDELMULTI
24*e4a36f41SAndroid Build Coastguard WorkerSIOCSIFPFLAGS SIOCGIFPFLAGS SIOCDIFADDR SIOCSIFHWBROADCAST SIOCKILLADDR SIOCGIFBR SIOCSIFBR
25*e4a36f41SAndroid Build Coastguard WorkerSIOCSIFTXQLEN SIOCETHTOOL SIOCGMIIPHY SIOCGMIIREG SIOCSMIIREG SIOCWANDEV
26*e4a36f41SAndroid Build Coastguard WorkerSIOCOUTQNSD SIOCDARP SIOCGARP SIOCSARP SIOCDRARP SIOCGRARP SIOCSRARP SIOCGIFMAP
27*e4a36f41SAndroid Build Coastguard WorkerSIOCSIFMAP SIOCADDDLCI SIOCDELDLCI SIOCGIFVLAN SIOCSIFVLAN SIOCBONDENSLAVE
28*e4a36f41SAndroid Build Coastguard WorkerSIOCBONDRELEASE SIOCBONDSETHWADDR SIOCBONDSLAVEINFOQUERY SIOCBONDINFOQUERY
29*e4a36f41SAndroid Build Coastguard WorkerSIOCBONDCHANGEACTIVE SIOCBRADDBR SIOCBRDELBR SIOCBRADDIF SIOCBRDELIF SIOCSHWTSTAMP
30*e4a36f41SAndroid Build Coastguard Worker# device and protocol specific ioctls
31*e4a36f41SAndroid Build Coastguard WorkerSIOCDEVPRIVATE-SIOCDEVPRIVLAST
32*e4a36f41SAndroid Build Coastguard WorkerSIOCPROTOPRIVATE-SIOCPROTOPRIVLAST
33*e4a36f41SAndroid Build Coastguard Worker# Wireless extension ioctls
34*e4a36f41SAndroid Build Coastguard WorkerSIOCSIWCOMMIT SIOCSIWNWID SIOCSIWFREQ SIOCSIWMODE SIOCSIWSENS SIOCSIWRANGE
35*e4a36f41SAndroid Build Coastguard WorkerSIOCSIWPRIV SIOCSIWSTATS SIOCSIWSPY SIOCSIWAP SIOCGIWAP SIOCSIWMLME SIOCGIWAPLIST
36*e4a36f41SAndroid Build Coastguard WorkerSIOCSIWSCAN SIOCGIWSCAN SIOCSIWESSID SIOCGIWESSID SIOCSIWNICKN SIOCGIWNICKN
37*e4a36f41SAndroid Build Coastguard WorkerSIOCSIWRATE SIOCSIWRTS SIOCSIWFRAG SIOCSIWTXPOW SIOCSIWRETRY SIOCSIWENCODE
38*e4a36f41SAndroid Build Coastguard WorkerSIOCGIWENCODE SIOCSIWPOWER SIOCSIWGENIE SIOCGIWGENIE SIOCSIWAUTH SIOCGIWAUTH
39*e4a36f41SAndroid Build Coastguard WorkerSIOCSIWENCODEEXT SIOCGIWENCODEEXT SIOCSIWPMKSA
40*e4a36f41SAndroid Build Coastguard Worker# Dev private ioctl i.e. hardware specific ioctls
41*e4a36f41SAndroid Build Coastguard WorkerSIOCIWFIRSTPRIV-SIOCIWLASTPRIV
42*e4a36f41SAndroid Build Coastguard Worker}')
43*e4a36f41SAndroid Build Coastguard Worker
44*e4a36f41SAndroid Build Coastguard Worker# commonly used ioctls on unix sockets
45*e4a36f41SAndroid Build Coastguard Workerdefine(`unpriv_unix_sock_ioctls', `{
46*e4a36f41SAndroid Build Coastguard Worker  TIOCOUTQ FIOCLEX FIONCLEX TCGETS TIOCGWINSZ TIOCSWINSZ FIONREAD
47*e4a36f41SAndroid Build Coastguard Worker}')
48*e4a36f41SAndroid Build Coastguard Worker
49*e4a36f41SAndroid Build Coastguard Worker# commonly used TTY ioctls
50*e4a36f41SAndroid Build Coastguard Worker# merge with unpriv_unix_sock_ioctls?
51*e4a36f41SAndroid Build Coastguard Workerdefine(`unpriv_tty_ioctls', `{
52*e4a36f41SAndroid Build Coastguard Worker  TIOCOUTQ FIOCLEX FIONCLEX TCGETS TCSETS TCSETSW TCSETSF TIOCGWINSZ TIOCSWINSZ
53*e4a36f41SAndroid Build Coastguard Worker  TIOCSCTTY TCFLSH TIOCSPGRP TIOCGPGRP
54*e4a36f41SAndroid Build Coastguard Worker}')
55*e4a36f41SAndroid Build Coastguard Worker
56*e4a36f41SAndroid Build Coastguard Worker# point to point ioctls
57*e4a36f41SAndroid Build Coastguard Workerdefine(`ppp_ioctls', `{
58*e4a36f41SAndroid Build Coastguard WorkerPPPIOCGL2TPSTATS PPPIOCGCHAN PPPIOCATTCHAN PPPIOCDISCONN
59*e4a36f41SAndroid Build Coastguard WorkerPPPIOCCONNECT PPPIOCSMRRU PPPIOCDETACH PPPIOCATTACH
60*e4a36f41SAndroid Build Coastguard WorkerPPPIOCNEWUNIT PPPIOCGIDLE PPPIOCSDEBUG PPPIOCGDEBUG
61*e4a36f41SAndroid Build Coastguard WorkerPPPIOCSACTIVE PPPIOCSPASS PPPIOCSNPMODE PPPIOCGNPMODE
62*e4a36f41SAndroid Build Coastguard WorkerPPPIOCSCOMPRESS PPPIOCXFERUNIT PPPIOCSXASYNCMAP
63*e4a36f41SAndroid Build Coastguard WorkerPPPIOCGXASYNCMAP PPPIOCSMAXCID PPPIOCSMRU PPPIOCGMRU
64*e4a36f41SAndroid Build Coastguard WorkerPPPIOCSRASYNCMAP PPPIOCGRASYNCMAP PPPIOCGUNIT PPPIOCSASYNCMAP
65*e4a36f41SAndroid Build Coastguard WorkerPPPIOCGASYNCMAP PPPIOCSFLAGS PPPIOCGFLAGS PPPIOCGCALLINFO
66*e4a36f41SAndroid Build Coastguard WorkerPPPIOCBUNDLE PPPIOCGMPFLAGS PPPIOCSMPFLAGS PPPIOCSMPMTU
67*e4a36f41SAndroid Build Coastguard WorkerPPPIOCSMPMRU PPPIOCGCOMPRESSORS PPPIOCSCOMPRESSOR PPPIOCGIFNAME
68*e4a36f41SAndroid Build Coastguard Worker}')
69*e4a36f41SAndroid Build Coastguard Worker
70*e4a36f41SAndroid Build Coastguard Worker# unprivileged binder ioctls
71*e4a36f41SAndroid Build Coastguard Workerdefine(`unpriv_binder_ioctls', `{
72*e4a36f41SAndroid Build Coastguard WorkerBINDER_WRITE_READ BINDER_SET_IDLE_TIMEOUT BINDER_SET_MAX_THREADS
73*e4a36f41SAndroid Build Coastguard WorkerBINDER_SET_IDLE_PRIORITY BINDER_SET_CONTEXT_MGR BINDER_THREAD_EXIT
74*e4a36f41SAndroid Build Coastguard WorkerBINDER_VERSION BINDER_GET_NODE_DEBUG_INFO BINDER_GET_NODE_INFO_FOR_REF
75*e4a36f41SAndroid Build Coastguard WorkerBINDER_SET_CONTEXT_MGR_EXT BINDER_ENABLE_ONEWAY_SPAM_DETECTION
76*e4a36f41SAndroid Build Coastguard WorkerBINDER_GET_EXTENDED_ERROR
77*e4a36f41SAndroid Build Coastguard Worker}')
78